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();
    }
}

 

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