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);
相关文章
相关标签/搜索