(连接工具类、显示信息方法、格式化日期方法)
// 工具类:MyBatisUtil public class MyBatisUtil { private static SqlSessionFactory factory = null; /* 👆SqlSessionFactoryBuilder则可以从XML配置文件或一个预先定制的Configuration的实例构建出SqlSessionFactory的实例.每一个MyBatis的应用程序都以一个SqlSessionFactory对象的实例为核心*/ static { try { String resource = "xml配置文件(JDBC)"; // 读取 InputStream is = Resources.getResourceAsStream(resource); // 通过 SqlSessionFactoryBuilder 获得SqlSessionFactory 的实例 factory = new SqlSessionFactoryBuilder().build(is); } catch (Exception e) { e.printStackTrace(); } } // 打开会话 public static SqlSession openSession() { if (factory != null) { return factory.openSession(); } return null; } } // 显示用户信息 private void pringUser(List<User> users) { // 使用List的形式导入用户信息形式如:{user1},{user2}这样 System.out.println("ID\t姓名\t年龄\t生日"); // 遍历list,得到所有人的信息,打印出来 for (User user : users) { System.out.println(user.getId()+"\t"+user.getName() + "\t" + user.getAge() + "\t" + dateToString(user.getBirth())); } } // 格式化日期:把日期转换为字符串 private String dateToString(Date date) { // 把Date转成字符串的形式 SimpleDateFormat sdf = new SimpleDateFormat(); sdf.applyPattern("yyyy-MM-dd"); // 转换完成,打包返回。 return sdf.format(date); }这里第一个工具类需要创建一个新的Class,而接下来的两个方法写到Test方法内即可
查询写法
// 大多数session会话写法 👉 [查询] SqlSession session = null;//必须要做! try{ session = 工具类.打开会话();//必须要做! Dao接口 mapper = ssion.getMapper(Dao接口.class); // 括号内的class是将XML的方法映射到mapper中👆,用于mapper.方法名 User类 user = mapper.方法名称(接口方法,要带上参数) 打印方法(Arrays.asList(user)); }catch (Exception e) { // 抛出异常 e.printStackTrace(); } finally { session.close(); // 关闭会话 }删除写法
// 大多数session会话写法 👉 [删除] SqlSession session = null;// 必须要做! try{ session = 工具类.打开会话(); // 必须要做! Dao接口 mapper = ssion.getMapper(Dao接口.class); // 括号内的class是将XML的方法映射到mapper中👆,用于mapper.方法名 mapper.删除的方法名(删除的ID); session.commit(); // commit : 手动提交 }catch (Exception e) { // 抛出异常 e.printStackTrace(); } finally { session.close(); // 必须要做! // 关闭会话 }增加写法
// 大多数session会话写法 👉 [增加] SqlSession session = null;// 必须要做! try{ session = 工具类.打开会话(); // 必须要做! Dao接口 mapper = ssion.getMapper(Dao接口.class); // 括号内的class是将XML的方法映射到mapper中👆,用于mapper.方法名 /**正片部分:这里开始添加要加入的值*/ User类 user = new User(); user.setName("小杨"); user.setAge(18); user.setBirth(时间) mapper.addUser增加方法名(user); // user打包带走,提交~ session.commit(); // 最后commit : 手动提交 }catch (Exception e) { // 抛出异常 e.printStackTrace(); } finally { session.close(); // 必须要做! // 关闭会话 }修改写法(更新)
// 大多数session会话写法 👉 [修改] // 这一块其实和增加没太大区别,唯一区别就是mapper.方法名不同 SqlSession session = null;// 必须要做! try{ session = 工具类.打开会话(); // 必须要做! Dao接口 mapper = ssion.getMapper(Dao接口.class); // 括号内的class是将XML的方法映射到mapper中👆,用于mapper.方法名 /**正片部分:这里开始添加要改的值*/ User类 user = new User(); user.setName("王校长"); user.setAge(28); user.setBirth(时间) mapper.update方法名(user); // user打包带走,提交~ session.commit(); // 最后commit : 手动提交 }catch (Exception e) { // 抛出异常 e.printStackTrace(); } finally { session.close(); // 必须要做! // 关闭会话 }运行效果: 增加:
//准备的数据 User user = new User(); user.setId(6); user.setName("汪汪"); user.setAge(5); user.setBirth(new Date()); mapper.addUser(user);效果:
修改:(我们对汪汪下手)
//准备的数据 User user = new User(); user.setId(5); user.setName("汪汪喵喵"); user.setAge(25); user.setBirth(new Date()); mapper.updateUser(user);查询:
删除:
User user = new User(); user.setId(6); user.setName("汪汪"); user.setAge(25); user.setBirth(new Date()); mapper.deleteUser(user);菜某 完成于 2020年10月20日17点00分