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

用JDBC连接SQLite:Class.forName("org.sqlite.JDBC");Connectionconn=DriverManager.getConnec... 用JDBC连接SQLite:
Class.forName("org.sqlite.JDBC");
Connection conn = DriverManager
.getConnection("jdbc:sqlite:/d:/sqlite.db");
Statement stat = conn.createStatement();
ResultSet r =stat.executeQuery("select * from student");
while(r.next())
{
System.out.println(r.getString("name"));
}
conn.close(); // 结束数据库的连接
FileUtils.forceDelete(new File("D:/sqlite.db"));
连接关闭,文件成功删除掉

用mybatis连接SQlite:
public static void main(String[] args) throws SQLException
{
try
{
SqlSessionFactory factory = connectSQLite();
SqlSession session = factory.openSession();
List<Student> list = session.selectList("SQLiteTest.queryAllStudent");
for (Student student : list)
{
System.out.println(student.getName());
}
session.getConnection().close();
FileUtils.forceDelete(new File("D:/sqlite.db"));
}
catch (IOException e)
{
e.printStackTrace();
}
}

private static SqlSessionFactory connectSQLite() throws IOException
{
Reader reader = Resources.getResourceAsReader("SqlMapConfig.xml");
Properties proper = createSQLiteProperties();
SqlSessionFactory factory = new SqlSessionFactoryBuilder().build(reader,proper);
reader.close();
return factory;
}

private static Properties createSQLiteProperties()
{
Properties proper = new Properties();
proper.put("driver", "org.sqlite.JDBC");
proper.put("username", "");
proper.put("password", "");
proper.put("url", "jdbc:sqlite:/D:/sqlite.db");
return proper;
}

java.io.IOException: Unable to delete file: D:\sqlite.db
为什么删不掉?mybatis关数据库连接的时候都需要关什么?
展开
 我来答
天锁G斩月
推荐于2017-10-14 · 超过21用户采纳过TA的回答
知道答主
回答量:66
采纳率:0%
帮助的人:51.3万
展开全部
似乎mybatis不用去操心关闭连接,它会自己关闭的,你可以控制连接的最大时间,
/**
* 获取试图连接的最大时间
*
* @see javax.sql.DataSource#getLoginTimeout()
*/
public int getLoginTimeout() throws SQLException {
return getDataSource().getLoginTimeout();
}
更多追问追答
追问
但是我要删除这个文件,不可能等他失效啊,得手动先给他关了
追答
数据库连接的获取和关闭我们可以使用数据库连接池来解决资源浪费的问题。通过连接池就可以反复利用已经建立的连接去访问数据库了。减少连接的开启和关闭的时间。
追求进步老男孩
2012-05-14 · 超过11用户采纳过TA的回答
知道答主
回答量:80
采纳率:0%
帮助的人:41万
展开全部
mybatis的数据库连接是自动关闭的,不需要手动关闭。
更多追问追答
追问
那如果有这种删除文件的操作,但是有数据库连接没关掉,我又想删除这个文件,有什么办法?
追答
直接删就是了,没问题的
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
15074222
2017-10-11 · TA获得超过139个赞
知道小有建树答主
回答量:281
采纳率:56%
帮助的人:39.1万
展开全部
你是来搞笑的吧=-= 好好学习一下mybatis吧= =
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
klyl520
2012-05-14 · TA获得超过324个赞
知道答主
回答量:106
采纳率:0%
帮助的人:46.1万
展开全部
还真不清楚。。。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式