Mybatis增刪改查

2023-02-27 12:01:15

基本增刪改查

第一步

在mapper介面中加入方法

package com.mapper;
public interface UserMapper {

    //表--實體類  mapper介面--對映檔案
    int  insertUser();//新增資料,返回值為改變的行數

}


第二步

在對應的mapper介面的對映檔案中加入相應標籤寫入sql語句

values()中的引數為新增的表中各個項,這裡我的user表格各個項為(userid,username,usertel,userpass,usercard)


<?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介面的路徑和名稱-->
<mapper namespace="com.mapper.UserMapper">

    <!--第二個一致,對應方法名   int  insertUser(); -->
   <insert id="insertUser">
       insert into user values (null,"lurry","2346","1411",26)
   </insert>



</mapper>


第一步在mapper介面中加入方法


package com.mapper;

public interface UserMapper {

    //表--實體類  mapper介面--對映檔案
    int  insertUser();//新增資料

    int updateUser();//更改資料

}

第二步,更改資料,在對映檔案中加入更新的標籤,寫sql語句



<?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介面的路徑和名稱-->
<mapper namespace="com.mapper.UserMapper">

    <!--第二個一致,對應方法名   int  insertUser(); -->
   <insert id="insertUser">
       insert into user values (null,"lurry","2346","1411",26)
   </insert>
    
    
 <!--int updateUser();//更改資料-->
    <update id="updateUser">
        update user set username="giegie" where userid=1
    </update>


</mapper>


第一步,加入方法,分為查詢所有和,按照要求查詢兩種,注意此時的返回值就是我們查詢到的資料


package com.mapper;
import com.pojo.User;
import java.util.List;
public interface UserMapper {

    //表--實體類  mapper介面--對映檔案
    int  insertUser();//新增資料

    int updateUser();//更改資料

    User selectUserById();//查詢單個資料

    List<User> selectAllUser(); //查詢所有

}


第二步,在對應的對映檔案中,加入標籤寫sql語句,該標籤中新加入了resultType屬性,該屬性用於說明查詢的資料型別為那種,一般寫為實體類的全類名,我這裡是user類的全類名,resultMap標籤這裡沒有使用,用於接收查詢的不是與實體類對應的資料時,例如僅查詢個別列時




<?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介面的路徑和名稱-->
<mapper namespace="com.mapper.UserMapper">

    <!--第二個一致,對應方法名   int  insertUser(); -->
   <insert id="insertUser">
       insert into user values (null,"lurry","2346","1411",26)
   </insert>
    
    
 <!--int updateUser();//更改資料-->
    <update id="updateUser">
        update user set username="giegie" where userid=1
    </update>

      <!-- User selectUserById();//查詢單個資料 -->
    <select id="selectUserById" resultType="com.pojo.User">
        select * from user where userid=11
    </select>

  <!--  List<User> selectAllUser();  查詢所有-->
    <select id="selectAllUser" resultType="com.pojo.User">
        select * from user
    </select>

</mapper>



第一步,在mapper介面加入相應的方法

package com.mapper;
import com.pojo.User;
import java.util.List;
public interface UserMapper {

    //表--實體類  mapper介面--對映檔案
    int  insertUser();//新增資料

    int updateUser();//更改資料

    User selectUserById();//查詢單個資料

    List<User> selectAllUser(); //查詢所有
    
     int deleteUserByaId();//刪除資料

}

第二步,在對映檔案中加入標籤


<?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介面-->
<mapper namespace="com.mapper.UserMapper">

    <!--第二個一致,對應方法名   int  insertUser(); -->
   <insert id="insertUser">
       insert into user values (null,"lurry","2346","1411",26)
   </insert>

    <!--int updateUser();//更改資料-->
    <update id="updateUser">
        update user set username="giegie" where userid=4
    </update>

   <!-- User selectUserById();//查詢單個資料 -->
    <select id="selectUserById" resultType="com.pojo.User">
        select * from user where userid=11
    </select>

  <!--  List<User> selectAllUser();  查詢所有-->
    <select id="selectAllUser" resultType="com.pojo.User">
        select * from user
    </select>
    
      <!--int deleteUserByaId();//刪除資料 -->
    <delete id="deleteUserByaId">
        delete from user where userid=5
    </delete>

</mapper>


測試類Test,測試上述功能,新建測試類


package com.test;
import com.getsqlsession.M_SelSession;
import com.mapper.UserMapper;
import com.pojo.User;
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 java.io.IOException;
import java.io.InputStream;
import java.util.List;

public class Test {

    public static void main(String[] args) throws IOException {
        //載入核心組態檔
        InputStream is= Resources.getResourceAsStream("mybatis-config.xml");
        //工廠模式,獲取SqlSessionFactoryBuilder
        SqlSessionFactoryBuilder sqlSessionFactoryBuilder=new SqlSessionFactoryBuilder();
        //獲取sqlSessionFactory
        SqlSessionFactory sqlSessionFactory=sqlSessionFactoryBuilder.build(is);
        //通過工廠獲取sqlSession
        SqlSession sqlSession=sqlSessionFactory.openSession(true);
        //通過sqlSession獲取介面物件
        UserMapper userMapper=sqlSession.getMapper(UserMapper.class);
         userMapper.insertUser();
         userMapper.updateUser();
      User user=userMapper.selectUserById(); //接受查詢的單個user
       System.out.println(user);
    List<User> list= userMapper.selectAllUser();//接受查詢的所有user
    System.out.println("========================================");
      for (User u : list)
        {
           System.out.println(u);
        }

        userMapper.deleteUserByaId();
    }
    

}