赞
踩
1.在userMapper接口中声明方法
- //插入用户信息
- int insertUser(user userx);
2.在userMapper.xml中实现该方法
- <insert id="insertUser" parameterType="com.mybatislearn.pojo.user">
- insert into user1 (id,username,sex) values(#{id},#{username},#{sex})
- </insert>
注意:1.此时用到的是<insert> </insert>,不再是<select> </select>
2.parameType是参数类型,由于我们要插入一个用户,所以插入的是user类
3.注意sql语句的写法
3.在userMapperTest中测试
- @Test
- public void insertTest(){
- SqlSession sqlsession = new mybatisUtils().getSqlsession();
- userMapper mapper = sqlsession.getMapper(userMapper.class);
- int i = mapper.insertUser(new user(5, "黎明", "男"));
- if(i>0){
- System.out.println("插入成功!");
- sqlsession.commit();
- }
- sqlsession.close();
-
- }
读者可能会发现,我们多了一个sqlsession.commit()的操作,是因为对数据库进行了改动,需要提交事务。在本文中增删改都是修改了数据库,都要用到提交事务,否则的话数据库中的数据不会发生变化。
4.运行结果及查看表
.
1.在userMapper接口中声明方法
- //删除用户
- int deleteUser(int id);
2.在userMapper.xml中实现该方法
- <delete id="deleteUser" parameterType="int">
- delete from user1 where id = #{id}
- </delete>
3.在userMapperTest中测试
- @Test
- public void deleteTest(){
- SqlSession sqlsession = new mybatisUtils().getSqlsession();
- userMapper mapper = sqlsession.getMapper(userMapper.class);
- int i = mapper.deleteUser(41);
- if(i>0){
- System.out.println("删除成功!");
- sqlsession.commit();
- }
- sqlsession.close();
- }
注意要使用sqlsession.commit()
4.运行结果及查看表
1.在userMapper接口中声明方法
- //更新数据
- int updateUser(user userx);
2.在userMapper.xml中实现该方法
- <update id="updateUser" parameterType="com.mybatislearn.pojo.user">
- update user1 set username = #{username}, sex = #{sex} where id = #{id} ;
- </update>
3.在userMapperTest中测试
- @Test
- public void updateTest(){
- SqlSession sqlsession = new mybatisUtils().getSqlsession();
- userMapper mapper = sqlsession.getMapper(userMapper.class);
- int i = mapper.updateUser(new user(5,"liming","女"));
- if(i>0){
- System.out.println("更新成功");
- sqlsession.commit();
- }
- sqlsession.close();
- }
4.运行结果及查看表
在插入和更新表中数据时,我们用到的parameterType="com.mybatislearn.pojo.user",如果user.class有许多成员变量的话,我们在写Sql实现语句的时候就会很麻烦。所以引入了Map。
1.在userMapper接口中声明方法
- //万能Map更新数据
- int updateUser2(Map<String,Object> map);
2.在userMapper.xml中实现该方法
- <!-- 因为map的key可以自己命名,所以不一定要和表中的字段名一模一样,这样操作更加灵活,而且使用map可以只写需要更改的字段,很简便 -->
- <update id="updateUser2" parameterType="map">
- update user1 set username = #{mapname} where id = #{mapid};
- </update>
3.在userMapperTest中测试
- @Test
- public void updateTest2(){
- SqlSession sqlsession = new mybatisUtils().getSqlsession();
- userMapper mapper = sqlsession.getMapper(userMapper.class);
- //创建一个map
- Map<String,Object> map = new HashMap<String, Object>() ;
- //map的key及其赋值,注意:此处的map的key名称要与userMapper.xml里的一样
- map.put("mapname","大王");
- map.put("mapid",42);
-
- int i = mapper.updateUser2(map);
- if(i>0){
- System.out.println("万能map修改成功!");
- sqlsession.commit();
- }
- sqlsession.close();
- }

4.运行结果及查看表
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。