猿问
下载APP

请教一下Java 怎么关闭 mybatis的数据库连接?

Java 怎么关闭 mybatis的数据库连接?


不负相思意
浏览 109回答 3
3回答

慕莱坞7535251

似乎mybatis不用去操心关闭连接,它会自己关闭的,你可以控制连接的最大时间,/*** 获取试图连接的最大时间** @see javax.sql.DataSource#getLoginTimeout()*/public int getLoginTimeout() throws SQLException {return getDataSource().getLoginTimeout();}

30秒到达战场

直接使用C3P0的话,用编程方式应该是可以的DataSource dataSource = [C3P0的dataSource]TransactionFactory transactionFactory = newJdbcTransactionFactory();Environment environment =new Environment("development", transactionFactory, dataSource);Configuration configuration = new Configuration(environment);configuration.addMapper(XXXXXXXX.class);SqlSessionFactory sqlSessionFactory =new SqlSessionFactoryBuilder().build(configuration);xml方式怎么加载外部连接池我没有找到相关的文档看官网上说的,应该需要搭配ioc容器一起使用,比如spring或者guice另外,纯mybatis的话,其实木有太大的必要使用连接池,因为mybatis本身的dataSource就是基于连接池的只要你的xml已这种方式配置:<dataSource type="POOLED">对啊,Mybatis自带连接池,不需要再另外配置了。除非你用Hibernate,再配连接池。

冉冉说

import java.sql.Connection ;import java.sql.DriverManager ;import java.sql.SQLException ;public class ConnectionDemo{// 定义MySQL的数据库驱动程序public static final String DBDRIVER = "org.gjt.mm.mysql.Driver" ;// 定义MySQL数据库的连接地址public static final String DBURL = "jdbc:mysql://localhost:3306/mldn" ;// MySQL数据库的连接用户名public static final String DBUSER = "root" ;// MySQL数据库的连接密码public static final String DBPASS = "mysqladmin" ;public static void main(String args[]){Connection conn = null ; // 数据库连接try{Class.forName(DBDRIVER) ; // 加载驱动程序}catch(ClassNotFoundException e){e.printStackTrace() ;}try{conn = DriverManager.getConnection(DBURL,DBUSER,DBPASS) ;}catch(SQLException e){e.printStackTrace() ;}System.out.println(conn) ; // 如果此时可以打印表示连接正常try{conn.close() ; // 数据库关闭}catch(SQLException e){e.printStackTrace() ;}}};
打开App,查看更多内容
随时随地看视频慕课网APP
我要回答