Mybaits基本的CURD操作
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();
}
}
最新文章
- php barcode 制作二条码,隐藏条码的内容,只保留条码
- 斯坦福第十四课:降维(Dimensionality Reduction)
- C语言全局未初始化数据段分析
- java ServerSocket服务端编程
- 触摸点为scrollview上的子控件时,scrollview不能滚动(iOS8)
- Convert SVG to PNG in Python - Stack Overflow
- jqm视频播放器,html5视频播放器,html5音乐播放器,html5媒体播放器,video开展demo,html5视频播放演示示例,html5移动视频播放器
- css3的::selection属性
- Redis学习笔记(一)关于在windows64位环境下的安装学习使用
- java知识 特殊符号转换
- 使用 requests 维持会话
- 【Java并发编程三】闭锁
- python 文件写入与储存
- 我要总结基本书 .net稍微有些深度的书籍看看
- JDK(十)JDK1.7&;1.8源码对比分析【集合】ConcurrentHashMap
- SCR文件的关联被AutoCAD所取代的解决办法
- I.MX6 U-boot lvds display hacking
- POJ3177 Redundant Paths【tarjan边双联通分量】
- spark on yarn 资源调度(cdh为例)
- 解决Win8.1系统Wpprecorder.sys蓝屏故障
热门文章
- 前端页面适配的rem换算 为什么要使用rem
- vue-nuxt--切换布局文件
- 69. Sqrt(x) (JAVA)
- 005-监控项item详解,手动创建item实例
- Codeforces Round #575 (Div. 3) D1+D2. RGB Substring (easy version) D2. RGB Substring (hard version) (思维,枚举,前缀和)
- SSH加密传输
- 【转】encodeURI和decodeURI方法
- 设计模式-Interpreter(行为模式) 使用解释器给用户提供一个一门定义语言的语法表示的解释器,通过该解释器解释语言中的句子。
- Java基础——面试、笔试
- 【leetcode】1190. Reverse Substrings Between Each Pair of Parentheses