1 首先在Mapper.xml配置

<!-- parameterType:参数类型,可以省略,
获取自增主键的值:
mysql支持自增主键,自增主键值的获取,mybatis也是利用statement.getGenreatedKeys();
useGeneratedKeys="true";使用自增主键获取主键值策略
keyProperty;指定对应的主键属性,也就是mybatis获取到主键值以后,将这个值封装给javaBean的哪个属性
-->
<insert id="addEmp" parameterType="com.atguigu.mybatis.bean.Employee"
useGeneratedKeys="true" keyProperty="id" databaseId="mysql">
insert into tbl_employee(last_name,email,gender)
values(#{lastName},#{email},#{gender})
</insert>

<select id="getEmpById" resultType="com.atguigu.mybatis.bean.Employee"
databaseId="mysql">
select * from tbl_employee where id = #{id}
</select>

<update id="updateEmp">
update tbl_employee
set last_name=#{lastName},email=#{email},gender=#{gender}
where id=#{id}
</update>

<delete id="deleteEmpById">
delete from tbl_employee where id=#{id}
</delete>

2在映射java类中添加对应方法

public Employee getEmpById(Integer id);

public Long addEmp(Employee employee);

public boolean updateEmp(Employee employee);

public boolean deleteEmpById(Integer id);

3在junit测试方法执行

public SqlSessionFactory getSqlSessionFactory() throws IOException {
String resource = "mybatis-config.xml";
InputStream inputStream = Resources.getResourceAsStream(resource);
return new SqlSessionFactoryBuilder().build(inputStream);
}

@Test
public void test03() throws IOException{

SqlSessionFactory sqlSessionFactory = getSqlSessionFactory();
//1、获取到的SqlSession不会自动提交数据
SqlSession openSession = sqlSessionFactory.openSession();

try{
EmployeeMapper mapper = openSession.getMapper(EmployeeMapper.class);
//测试添加
Employee employee = new Employee(null, "jerry4",null, "1");
Employee employee2 = new Employee(null, "jerry2",null, "1");
mapper.addEmp(employee2);
Long a=mapper.addEmp(employee);
System.out.println(employee.getId());
System.out.println(a);
// //测试修改
// Employee employee1 = new Employee(1, "Tom", "jerry@atguigu.com", "0");
// boolean updateEmp = mapper.updateEmp(employee1);
// System.out.println(updateEmp);
// //测试删除
// boolean updateEmp1= mapper.deleteEmpById(2);
// if(updateEmp1==true){
// System.out.println("删除成功");
// }
//2、手动提交数据
openSession.commit();
}finally{
openSession.close();
}

}

最新文章

  1. php barcode 制作二条码,隐藏条码的内容,只保留条码
  2. 斯坦福第十四课:降维(Dimensionality Reduction)
  3. C语言全局未初始化数据段分析
  4. java ServerSocket服务端编程
  5. 触摸点为scrollview上的子控件时,scrollview不能滚动(iOS8)
  6. Convert SVG to PNG in Python - Stack Overflow
  7. jqm视频播放器,html5视频播放器,html5音乐播放器,html5媒体播放器,video开展demo,html5视频播放演示示例,html5移动视频播放器
  8. css3的::selection属性
  9. Redis学习笔记(一)关于在windows64位环境下的安装学习使用
  10. java知识 特殊符号转换
  11. 使用 requests 维持会话
  12. 【Java并发编程三】闭锁
  13. python 文件写入与储存
  14. 我要总结基本书 .net稍微有些深度的书籍看看
  15. JDK(十)JDK1.7&amp;1.8源码对比分析【集合】ConcurrentHashMap
  16. SCR文件的关联被AutoCAD所取代的解决办法
  17. I.MX6 U-boot lvds display hacking
  18. POJ3177 Redundant Paths【tarjan边双联通分量】
  19. spark on yarn 资源调度(cdh为例)
  20. 解决Win8.1系统Wpprecorder.sys蓝屏故障

热门文章

  1. 前端页面适配的rem换算 为什么要使用rem
  2. vue-nuxt--切换布局文件
  3. 69. Sqrt(x) (JAVA)
  4. 005-监控项item详解,手动创建item实例
  5. Codeforces Round #575 (Div. 3) D1+D2. RGB Substring (easy version) D2. RGB Substring (hard version) (思维,枚举,前缀和)
  6. SSH加密传输
  7. 【转】encodeURI和decodeURI方法
  8. 设计模式-Interpreter(行为模式) 使用解释器给用户提供一个一门定义语言的语法表示的解释器,通过该解释器解释语言中的句子。
  9. Java基础——面试、笔试
  10. 【leetcode】1190. Reverse Substrings Between Each Pair of Parentheses