mybatis的简单CRUD

首先是我们的实体类

package com.zking.pojo;

public class users {
    //id
    private String uid;
    //名称
    private String uname;
//构造方法
    public users() {
    }
//带参数的构造方法
    public users(String uid, String uname) {
        this.uid = uid;
        this.uname = uname;
    }
//对象get/set方法
    public String getUid() {
        return uid;
    }

    public void setUid(String uid) {
        this.uid = uid;
    }

    public String getUname() {
        return uname;
    }

    public void setUname(String uname) {
        this.uname = uname;
    }
//toString方法
    @Override
    public String toString() {
        return "users{" +
                "uid='" + uid + '\'' +
                ", uname='" + uname + '\'' +
                '}';
    }
}

这是我们的mapper

<?xml version="1.0" encoding="UTF-8" ?>
<!--引用mybatisDTD文件-->
<!DOCTYPE mapper
        PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
        "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<!--namespace代表数据库名称-->
<mapper namespace="users">
   <!--查询所有数据-->
<select id="FandAll" resultType="com.zking.pojo.users" parameterType="com.zking.pojo.users">
   SELECT * FROM  users
</select>
<!--按条件查询-->
   <select id="fandbyname" resultType="com.zking.pojo.users" parameterType="java.lang.String">
      SELECT  * FROM  users where uname=#{uname}
   </select>
   <!--模糊查询方法  占位符必须是${value}-->
   <select id="fandbyname1" resultType="com.zking.pojo.users" parameterType="java.lang.String">
      SELECT  * FROM  users where uname LIKE '%${value}%'
   </select>
<!--增加的方法-->
   <insert id="add" parameterType="com.zking.pojo.users">
      INSERT INTO  users()VALUE (#{uid},#{uname});
   </insert>
<!--增加后返回主键-->
   <insert id="add1" parameterType="com.zking.pojo.users">
      <selectKey keyProperty="uid" order="AFTER" resultType="java.lang.String">
      SELECT  LAST_INSERT_ID();
      </selectKey>
      INSERT INTO  users()VALUE (#{uid},#{uname});
   </insert>
<!--修改方法-->
   <update id="edit" parameterType="com.zking.pojo.users">
      UPDATE  users set uname=#{uname} where uid=#{uid}
   </update>
<!--删除方法-->
   <delete id="delete" parameterType="com.zking.pojo.users">
      delete from users where uid=#{uid}
   </delete>

   <!--删除全部方法-->
   <delete id="deleteall" >
      delete from users
   </delete>
</mapper>

这是我们的xml
 

<?xml version="1.0" encoding="utf-8" ?>
<!DOCTYPE configuration
        PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
        "http://mybatis.org/dtd/mybatis-3-config.dtd">
<configuration>
    <!--jdbc数据库连接池-->
    <environments default="development">
        <environment id="development">
            <transactionManager type="JDBC"/>
            <dataSource type="POOLED">
                <property name="driver" value="com.mysql.jdbc.Driver"/>
                <property name="url" value="jdbc:mysql://localhost:3306/zx?characterEncoding=UTF-8"/>
                <property name="username" value="root"/>
                <property name="password" value="sasa"/>
            </dataSource>
        </environment>
    </environments>
    <!--添加mapper依赖-->
    <mappers>
        <mapper resource="com/zking/mapper/user.xml"/>
    </mappers>
</configuration>

这是我们的test调用方法

package com.zking.user1;

import com.zking.pojo.users;
import org.apache.ibatis.io.Resources;
import org.apache.ibatis.session.SqlSession;
import org.apache.ibatis.session.SqlSessionFactory;
import org.apache.ibatis.session.SqlSessionFactoryBuilder;
import org.junit.Test;

import java.util.List;
import java.util.UUID;


public class user1 {
    //查询所有
    @Test
    public void FandAll() throws Exception {
        //创建工程并且获取xml文件
        SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(Resources.getResourceAsStream("mybatis-config.xml"));
        //创建会话
        SqlSession sqlSession = sqlSessionFactory.openSession();
        //进行方法的调用selectList并且输出
        List<users> u = sqlSession.selectList("FandAll");
        for (users u1 : u) {
            System.out.println(u1.getUid() + "_____" + u1.getUname());
        }
        //关闭session连接
        sqlSession.close();
    }

    //按条件查询
    @Test
    public void fandbyname() throws Exception {
        //创建工程并且获取xml文件
        SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(Resources.getResourceAsStream("mybatis-config.xml"));
        //创建会话
        SqlSession sqlSession = sqlSessionFactory.openSession();
        //进行方法的调用selectOne并且输出
        users u = sqlSession.selectOne("fandbyname", "张三");
        System.out.println(u);
        //关闭session连接
        sqlSession.close();
    }

    //模糊查询
    @Test
    public void fandbyname1() throws Exception {
        //创建工程并且获取xml文件
        SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(Resources.getResourceAsStream("mybatis-config.xml"));
        //创建会话
        SqlSession sqlSession = sqlSessionFactory.openSession();
        //进行方法的调用selectList并且输出
        List<users> u = sqlSession.selectList("fandbyname1", "1");
        for (users u1 : u) {
            System.out.println(u1.getUid() + "_____" + u1.getUname());
        }
        //关闭session连接
        sqlSession.close();
    }

    //增加方法
    @Test
    public void add() throws Exception {
        //创建工程并且获取xml文件
        SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(Resources.getResourceAsStream("mybatis-config.xml"));
        //创建会话
        SqlSession sqlSession = sqlSessionFactory.openSession();

        //创建对象进行赋值
        users u = new users();
        u.setUid(String.valueOf(UUID.randomUUID()));
        u.setUname("张三");
        //进行方法的调用insert并且输出
        System.out.println(sqlSession.insert("add", u));
        //进行对数据库的提交操作
        sqlSession.commit();
        //关闭session的连接
        sqlSession.close();

    }

    //增加后返回主键
    @Test
    public void add1() throws Exception {
        //创建工程并且获取xml文件
        SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(Resources.getResourceAsStream("mybatis-config.xml"));
        //创建会话
        SqlSession sqlSession = sqlSessionFactory.openSession();
        //创建对象进行赋值
        users u = new users();
        //  u.setUid(String.valueOf(UUID.randomUUID()));
        u.setUname("张三");
        //进行方法的调用insert并且输出
        System.out.println(sqlSession.insert("add1", u));
        System.out.println(u);
        //进行对数据库的提交操作
        sqlSession.commit();
        //关闭session连接
        sqlSession.close();

    }

    //修改
    @Test
    public void edit() throws Exception {
        //创建工程并且获取xml文件
        SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(Resources.getResourceAsStream("mybatis-config.xml"));
        //创建会话
        SqlSession sqlSession = sqlSessionFactory.openSession();
        //创建对象进行赋值
        users u = new users();
        u.setUid("b2ec6f3b-0782-11ea-a8ef-fc459698e2bd");
        u.setUname("李四");
        //进行方法的调用update并且输出
        System.out.println(sqlSession.update("edit", u));
        //进行对数据库的提交操作
        sqlSession.commit();
        //关闭session连接
        sqlSession.close();
    }

    //删除
    @Test
    public void delete() throws Exception {
        //创建工程并且获取xml文件
        SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(Resources.getResourceAsStream("mybatis-config.xml"));
        //创建会话
        SqlSession sqlSession = sqlSessionFactory.openSession();
        //创建对象进行赋值
        users u = new users();
        u.setUid("b2ec6f3b-0782-11ea-a8ef-fc459698e2bd");
        //进行方法的调用delete并且输出
        System.out.println(sqlSession.delete("delete", u));
        //进行对数据库的提交操作
        sqlSession.commit();
        //关闭session连接
        sqlSession.close();
    }

    //删除全部
    @Test
    public void deleteall() throws Exception {
        //创建工程并且获取xml文件
        SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(Resources.getResourceAsStream("mybatis-config.xml"));
        //创建会话
        SqlSession sqlSession = sqlSessionFactory.openSession();
        //进行方法的调用delete并且输出
        System.out.println(sqlSession.delete("deleteall"));
        //进行对数据库的提交操作
        sqlSession.commit();
        //关闭session连接
        sqlSession.close();
    }
}

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章