源码博客地址:https://www.cnblogs.com/hellokitty1/p/5216025.html
优化点:
1)在select操作的方法里面,出现异常的时候,个人觉得是不需要执行session.rollback()操作的。
2)在所有数据库连接使用完成以后,个人觉得需要执行下session.close()方法,将使用完成的连接重新返还到连接池,以避免数据库连接的泄露。
以下为优化后的代码:
XML Code
1
2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 |
package com.cy.mybatis.tools;
import java.util.List; import org.apache.ibatis.session.SqlSession; import com.cy.mybatis.beans.UserBean; import com.cy.mybatis.mapper.UserMapper; import com.cy.mybatis.service.DBTools; public class UserService { public static void main(String[] args) { // insertUser(); // deleteUser(); // selectUserById(); selectAllUser(); } / ** * 新增用户 * / private static void insertUser() { SqlSession session = DBTools.getSession(); UserMapper mapper = session.getMapper(UserMapper.class); UserBean user = new UserBean( "lisi" , "5432109876" , 1100.0); try { mapper.insertUser(user); session.commit(); session.close(); } catch (Exception e) { e.printStackTrace(); session.rollback(); } } / ** * 删除用户 * / private static void deleteUser(){ SqlSession session=DBTools.getSession(); UserMapper mapper=session.getMapper(UserMapper.class); try { mapper.deleteUser(1); // 增删改需要commit()会话; session.commit(); session.close(); } catch (Exception e) { e.printStackTrace(); session.rollback(); } } / ** * 根据id查询用户 * / private static void selectUserById(){ SqlSession session=DBTools.getSession(); UserMapper mapper=session.getMapper(UserMapper.class); try { UserBean user = mapper.selectUserById(2); session.close(); } catch (Exception e) { e.printStackTrace(); } } / ** * 查询所有的用户 * / private static void selectAllUser(){ SqlSession session=DBTools.getSession(); UserMapper mapper=session.getMapper(UserMapper.class); try { List <UserBean> user=mapper.selectAllUser(); System.out.println( "ResultSet has " + user.size() + " rows." ); for(int i=0; i < user.size();i++){ System.out.println( "ID=" +user.get(i).getId()+ " | " + "username=" +user.get(i).getUsername()+ " | " + "password=" +user.get(i).getPassword()+ " | " + "account=" +user.get(i).getAccount()); } session.close(); } catch (Exception e) { e.printStackTrace(); } } } |