zoukankan      html  css  js  c++  java
  • MyBatis(二)

    3、CURD(增删改查)

    1. namespace

    namespace中的包名要和Dao/Mapper接口的包名一致

    2. select

    选择,查询语句;

    • id:就是对应的namespace中的方法名;

    • resultType : Sql语句执行的返回值;

    • parameterType : 参数类型;

      1. 编写接口

        public interface UserMapper {
           //查询所有用户
           public List<User> getUserList();
           //插入用户
           public void addUser(User user);
        }
      2. 编写对应的mapper中的sql语句

        <insert id="addUser" parameterType="com.kuang.pojo.User">
          insert into user (id,name,password) values (#{id}, #{name}, #{password})
        </insert>
      3. 测试

        @Test
        public void test2() {
           SqlSession sqlSession = MybatisUtils.getSqlSession();
           UserMapper mapper = sqlSession.getMapper(UserMapper.class);
           User user  = new User(3,"黑子","666");
           mapper.addUser(user);
           //增删改一定要提交事务
           sqlSession.commit();

           //关闭sqlSession
           sqlSession.close();
        }

        注意:增删改查一定要提交事务:

        sqlSession.commit();

    3. Insert

    4. update

    5. Delete

    示例代码(依次)

    1610289058018

    package com.alice.dao;
    import com.alice.pojo.User;
    import java.util.List;
    public interface UserMapper {
       List<User> getUserList();
       User getUserById(String id);
       int addUser(User user);
       int updateUser(User user);
       int deleteUser(String id);
       List<User> getUserListByLike(String name);
    }
    <?xml version="1.0" encoding="UTF-8" ?>
    <!DOCTYPE mapper
          PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
          "http://mybatis.org/dtd/mybatis-3-mapper.dtd">

    <mapper namespace="com.alice.dao.UserMapper">
      <select id="getUserList" resultType="User">
          select * from `mybatis-alice-01`.user;
      </select>
      <select id="getUserListByLike" resultType="User">
          select * from `mybatis-alice-01`.user where name like "%"#{name}"%";
      </select>
      <select id="getUserById" resultType="User" parameterType="String">
          select * from `mybatis-alice-01`.user where id = #{id};
      </select>
      <insert id="addUser" parameterType="User">
          insert into `mybatis-alice-01`.user (id ,name ,pad ) values (#{id},#{name },#{pad });
      </insert>
      <update id="updateUser" parameterType="User">
          update `mybatis-alice-01`.user
          set name = #{name } ,pad=#{pad }
          where id= #{id};
      </update>
      <delete id="deleteUser" parameterType="String">
          delete from `mybatis-alice-01`.user where id=#{id};
      </delete>
    </mapper>
    package com.alice.dao;
    import com.alice.pojo.User;
    import com.alice.utils.MyBatisUtils;
    import org.apache.ibatis.session.SqlSession;
    import org.junit.Test;

    import java.util.List;

    public class UserDaoTest {
       @Test
       public void test(){
           SqlSession sqlSession= MyBatisUtils.getSqlSession();
           UserMapper userMapper =sqlSession.getMapper(UserMapper.class);
           List<User>userList= userMapper.getUserList();
           for (User user : userList) {
               System.out.println(user);
          }
           sqlSession.close();
      }
       @Test
       public void getUserById(){
           SqlSession sqlSession=MyBatisUtils.getSqlSession();
           UserMapper userMapper=sqlSession.getMapper(UserMapper.class);
           User user=userMapper.getUserById("1234567");
           System.out.println(user);
           sqlSession.close();
      }
       @Test
       public void addUser(){
           SqlSession sqlSession=MyBatisUtils.getSqlSession();
           UserMapper userMapper=sqlSession.getMapper(UserMapper.class);
           userMapper.addUser(new User("123456789","9","123456"));
           sqlSession.commit();
           sqlSession.close();
      }
       @Test
       public void deleteANUpdate(){
           SqlSession sqlSession=MyBatisUtils.getSqlSession();
           UserMapper userMapper=sqlSession.getMapper(UserMapper.class);
           userMapper.updateUser(new User("1234567","ali","123456"));
           userMapper.deleteUser("123456789");
           sqlSession.commit();
           sqlSession.close();
      }
       @Test
       public void selectLike(){
           SqlSession sqlSession=MyBatisUtils.getSqlSession();
           UserMapper userMapper=sqlSession.getMapper(UserMapper.class);
           List<User>userList=userMapper.getUserListByLike("%a%");
           for (User user : userList) {
               System.out.println(user);
          }
           sqlSession.close();
      }
    }
  • 相关阅读:
    SQL Server中使用convert进行日期转换
    杂记
    sqlserver表分区与调优与行列转换
    HttpModule的认识与深入理解及MVC运行机制
    再谈委托
    ASP.NET forms凭据设置和跳转的几种方法
    IOS学习网址
    Activator.CreateInstance 方法 (Type) 的用法
    update多表更新的2种方式
    SQL自定义函数split分隔字符串
  • 原文地址:https://www.cnblogs.com/ltw222/p/14910133.html
Copyright © 2011-2022 走看看