Mybatis_06_Mybatis_crud增刪改查

Mybatis_crud
   * 通常狀況下鏈接數據庫的信息最好單獨寫在配置文件中,這樣用戶修改起來方便。

      - 在類路徑下新建一個 jdbc.properties文件,配置鏈接數據庫所需信息
          jdbc.driver=com.mysql.cj.jdbc.Driver
          jdbc.url=jdbc:mysql://127.0.0.1:3306/mydb?useUnicode=true&characterEncoding=utf8&serverTimezone=Asia/Shanghai
          jdbc.username=root
          jdbc.password=123456


      - 而後在Mybatis的核心配置文件中引入該配置文件
          - 而後在屬性值裏寫 ${配置文件中值得key}* 兩個配置文件的做用 
    
          - mybatis-3-config.dtd     Mybatis核心配置文件XML的代碼提示

          - mybatis-3-mapper.dtd    SqlMapper sql配置文件XML的代碼提示
 
          - 這兩個文件有網絡的狀況下是自動配置的,若是沒有網絡的話須要下載之後再IDEA裏配置一下。



   * Sql配置文件中的各類屬性的做用
   
        - id屬性:  id具備惟一性,表明了本條sql語句,id用來傳給Java程序,就表明了本條SQL語句

        - resultType屬性:  告訴Mybatis所查詢出的數據最終查詢出數據後所要封裝成的類型,要寫全類名。

        - AS關鍵字: 實體類的屬性名和數據庫表中的字段名是怎麼匹配的呢?  須要經過SQL語句的 AS關鍵字,給數據庫中字段名取別名,使數據庫中的字段名和實體類中的屬性名相一致
    
        - Mybatis中的Sql語句佔位符不能使用問號,必須使用 #{} , 大括號中寫javabean的屬性名
 
        - 當一個Sql語句的佔位符只有一個的時候佔位符 #{能夠隨意編寫},Mybatis自動賦值。
       
        - parameterType屬性是用來給SQL語句的佔位符傳值的,告訴Mybatis所要傳給佔位符的值是什麼類型的數據
   
        - parameterType=「簡單類型」的時候,parameterType屬性能夠省略不寫。
 
        - javabean實體類 給佔位符傳值的時候,程序員須要告訴Mybatis javabean的哪一個屬性傳給哪一個佔位符,這就要保證屬性名和數據庫表中的列名保持一致。

       
   
     


  * 插入數據(insert)
      
      - Sql映射文件 SqlMapper.xml
     
             insert into t_userinfo(username,email,userpwd)values(#{userName},#{userEmail},#{userPwd});- java程序

            //insert操做,第一個參數是sql語句id,第二個參數是Object類型的,所須要插入數據的類型。
             int count = sqlSession.insert("addDataForUserSql",user); //返回值表明影響數據庫表幾行數據
             System.out.println(count);


   * 插入更新修改(updata)
     
          - Sql映射文件 SqlMapper.xml

           update t_userinfo set userpwd=#{userPwd} where username=#{userName};- java程序
 
            //update語句
            int count = sqlSession.update("updateDataForUserSql", user);
            System.out.println(count);



  * 查詢數據(select)

      - Sql映射文件 SqlMapper.xml

          select username,email,userpwd from t_userinfo where username=#{userName};select * from t_userinfo;- java程序

            //select 語句 查詢一條數據
            Object userResult = sqlSession.selectOne("getDataForUserSql","Morty");
            System.out.println(userResult);
           


         // select 查詢全部數據
            ListuserList = sqlSession.selectList("getDataForAllUserSql");

            for(User user1:userList){

                System.out.println(user1);
            }
         



  * 刪除數據(delete)

     - Sql映射文件 SqlMapper.xml


               delete from t_userinfo where username=#{username};- java程序
   
             int count = sqlSession.delete("delDataForUserSql","Morty"); // 直接傳參
             System.out.println(count);
相關文章
相關標籤/搜索