二.Mybatis基本操作
来源:互联网 发布:网络键盘手会判刑几年 编辑:程序博客网 时间:2024/06/06 12:25
一.增删改
增:
mapping文件<insert id="insertUser" parameterType="JiKeUser" statementType="PREPARED" keyProperty="id" useGeneratedKeys="true"> insert into JikeUser (userName,password) values (#{userName},#{password}) </insert> 此处JiKeUser别名,需要在基本配置文件配置环境前配置别名 <typeAliases> <typeAlias alias="JiKeUser" type="jike.book.pojo.JiKeUser" /> <typeAlias alias="Author" type="jike.book.pojo.Author" /> </typeAliases>
测试:开启session后,新建一个映射pojo,赋予属性后,用
session.insert(“insertUser”, jku);//前一个参数是sqlID,后一个参数是赋值后实体
改:
mapping文件:<update id="updateUser" parameterType="JiKeUser"> UPDATE JiKeUser SET userName=#{userName}, password=#{password} WHERE id = #{id} </update>
测试:开启session后JiKeUser jku2=new JiKeUser();jku2.setUserName("jike00100");jku2.setPassword("666666");jku2.setId(2);session.update("updateUser", jku2);关session
删除也相差不大
Mybatis保留了接口注解sql,但是有局限性,建议尽量不要使用。
二.查询
传入hashMap:
<select id="loginSelect" resultType="JiKeUser" parameterType="hashmap"> select * from JikeUser where userName=#{userName} and password=#{password} </select>
测试:
HashMap<String,String> hm=new HashMap();hm.put("userName", "jike00100");hm.put("password","666666");JiKeUser temp=session.selectOne("loginSelect",hm);if(temp!=null){ System.out.println("登陆成功!");}
也可以传入的是实体。
如果返回的是List:
mapping:<select id="selectJiKeUserList" resultType="JiKeUser"> select * from JikeUser</select>
测试:
List<JiKeUser> ap=session.selectList("selectJiKeUserList");
resultMap解决复杂查询映射问题:
mapping:<resultMap id="JiKeUserMap" type="JiKeUser"> <id property="id" column="id" /> <result property="userName" column="userName"/> <result property="password" column="password"/> </resultMap><select id="selectUsers" resultMap="JiKeUserMap"> select id, userName, password from JiKeUser </select>测试:List<JiKeUser> ap=session.selectList("selectUsers");
三.Mybatis事务处理:
需要在环境中添加配置事务
有两种方式:JDBC MANGED(第三方插件)
try{ session=sqlMapper.openSession(false); //关闭自动提交 …… session.commit(); //提交事务 }catch(Exception e){ session.rollback();} //回滚事务finally{ session.close();} //关闭session
mapping:
<insert id="insertAuthor" parameterType="Author" statementType="PREPARED"> insert into Author(userID,realName,IDCard) values(#{jikeUser.id},#{realName},#{IDCard}) </insert>
测试:
JiKeUser one=new JiKeUser();one.setUserName("author001");one.setPassword("123456");session.insert("insertUser",one);System.out.println("新加入的user id="+one.getId());Author at=new Author();at.setJikeUser(one);at.setRealName("一个大牛");session.insert("insertAuthor", at);session.commit();//事务提交
1 0
- 二.Mybatis基本操作
- mybatis基本操作
- mybatis基本操作
- MyBatis基本操作
- [mybatis]基本的CRUD操作
- Linux基本操作二
- SQL基本操作二
- 二、表基本操作
- 数据基本操作(二)
- Mysql基本操作(二)
- opencv基本操作(二)
- git基本操作二
- 二、Git基本操作
- 二、ElasticSearch基本操作
- vim基本操作(二)
- 二、python基本操作
- TensorFlow基本操作(二)
- Linux基本操作(二)
- ℃江让您从精通到入门:你必须面对的ListView!
- canvas系列教程1-前言
- 面试经历(二)
- 深度学习
- 前端之android打包知识点
- 二.Mybatis基本操作
- SQL语言基础
- 选择排序(java实现)
- Educational Codeforces Round 20 Distances to Zero
- Android
- 个人对kobject的一点研究
- 安装ubantu和vmtools
- shell中的几种少见的变量继承(传递)方式
- GitBash上传项目到github,以及SSH免密码上传