在mybatis(3):日志输出配置的基础上修改代码。
新建工具类,将数据库的操作抽出到工具类里面:
package com.study.utils; import java.io.InputStream; import org.apache.ibatis.session.SqlSession; import org.apache.ibatis.session.SqlSessionFactory; import org.apache.ibatis.session.SqlSessionFactoryBuilder; public class MybatisUtils { static InputStream is = MybatisUtils.class.getResourceAsStream("/mybatis.cfg.xml"); static SqlSessionFactory factory = new SqlSessionFactoryBuilder().build(is); public static SqlSession openSession() { return factory.openSession(); } public static void closeSession(SqlSession session) { session.commit(); session.close(); } }
将之前代码中的数据库连接修改为使用工具类,代码如下:
package com.study.dao.Impl; import java.util.List; import java.io.InputStream; import org.apache.ibatis.session.SqlSession; import org.apache.ibatis.session.SqlSessionFactory; import org.apache.ibatis.session.SqlSessionFactoryBuilder; import com.study.dao.UserDao; import com.study.domain.User; import com.study.utils.MybatisUtils; public class UserDaoImpl implements UserDao { @Override public void add(User user) { //1.得到Session SqlSession session = MybatisUtils.openSession(); //2.添加 session.insert("com.study.dao.UserDao.add",user); //3.提交关闭 MybatisUtils.closeSession(session); System.out.println("添加完成"); } @Override public void update(User user) { //1.得到Session SqlSession session = MybatisUtils.openSession(); //2.添加 session.update("com.study.dao.UserDao.update",user); //3.提交关闭 MybatisUtils.closeSession(session); System.out.println("更新成功"); } @Override public void delete(Integer id) { //1.得到Session SqlSession session = MybatisUtils.openSession(); //2.添加 session.delete("com.study.dao.UserDao.delete",id); //3.提交 MybatisUtils.closeSession(session); System.out.println("删除成功"); } @Override public User queryById(Integer id) { //1.得到Session SqlSession session = MybatisUtils.openSession(); //2.添加 User user = session.selectOne("com.study.dao.UserDao.queryById",id); //3.提交 MybatisUtils.closeSession(session); System.out.println("查询完成"); return user; } @Override public List<User> queryAll() { //1.得到Session SqlSession session = MybatisUtils.openSession(); //2.添加 List<User> listuser = session.selectList("com.study.dao.UserDao.queryAll"); //3.提交 MybatisUtils.closeSession(session); System.out.println("查询完成"); return listuser; } }修改完后,测试程序,数据增删改查正常。