暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

MyBatis_Day02

liuboss 2020-10-20
162

一,mybatis实现查询增加完整步骤。查询,插入操作。

1.创建数据库,数据库名称,属性,user表中的属性包括,id,name,pwd。

2..配置pom文件引入相关jar包进行导入。并引入log4j的日志文件到resources文件目录下。

    <?xml version="1.0" encoding="UTF-8"?>
    <project xmlns="http://maven.apache.org/POM/4.0.0"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <parent>
    <artifactId>Mybatis01</artifactId>
    <groupId>org.example</groupId>
    <version>1.0-SNAPSHOT</version>
    </parent>
    <modelVersion>4.0.0</modelVersion>


    <artifactId>Test01</artifactId>
    <dependencies>
    <dependency>
    <groupId>org.example</groupId>
    <artifactId>Test01</artifactId>
    <version>1.0-SNAPSHOT</version>
    </dependency>
    <dependency>
    <groupId>junit</groupId>
    <artifactId>junit</artifactId>
    <version>4.13</version>
    </dependency>
    <dependency>
    <groupId>org.mybatis</groupId>
    <artifactId>mybatis</artifactId>
    <version>3.5.6</version>
    </dependency>
    <dependency>
    <groupId>mysql</groupId>
    <artifactId>mysql-connector-java</artifactId>
    <version>8.0.20</version>
    </dependency>
    </dependencies>
    </project>

    3.创建与数据库对应的类,创建对应的数据类型以及数据字段名称。

       包com.liuboss.demo,创建类User。

    ---实现其中的get,set,toString方法。

      package com.liuboss.demo;






      public class User {
      private int id;
      private String name;
      private String pwd;


      @Override
      public String toString() {
      return "User{" +
      "id=" + id +
      ", name='" + name + '\'' +
      ", pwd='" + pwd + '\'' +
      '}';
      }


      public int getId() {
      return id;
      }


      public void setId(int id) {
      this.id = id;
      }


      public String getName() {
      return name;
      }


      public void setName(String name) {
      this.name = name;
      }


      public String getPwd() {
      return pwd;
      }


      public void setPwd(String pwd) {
      this.pwd = pwd;
      }
      }


      4.在resources文件下创建配置文件进行,实现数据库操作语句。

        com.liuboss.demo包,创建配置文件MybatisConfig.xml。

        注意:命名空间和id值的配置。

        <?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 namespace="userMapper">


        <select id="userAll" resultType="com.liuboss.demo.User">
        select * from user
        </select>
        <insert id="save" parameterType="com.liuboss.demo.User">
        insert into user value(#{id},#{name},#{pwd})
        </insert>
        </mapper>

        5.配置数据库链接文件。MybatisSqlConfig.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">
          <!--mybatis核心配置文件-->
          <configuration>
          <environments default="development">
          <environment id="development">
          <transactionManager type="JDBC"/>
          <dataSource type="POOLED">
          <property name="driver" value="com.mysql.cj.jdbc.Driver"/>
          <property name="url"
          value="jdbc:mysql://localhost:3306/mybatis?useSSL=true&amp;useUnicode=true&amp;characterEncoding=utf8&amp;serverTimezone=UTC"/>
          <property name="username" value="root"/>
          <property name="password" value="123456"/>
          </dataSource>
          </environment>
          </environments>
          <mappers>
          <mapper resource="com\liuboss\demo\MybatisConfig.xml"/>
          </mappers>
          </configuration>

          6.测试文件。

            package com.liuboss.demo;


            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 {
            @org.junit.Test
            public void test1() throws IOException {
            //获得核心配置文件
            InputStream resourceAsStream = Resources.getResourceAsStream("MybatisSqlConfig.xml");
            //获得session工厂对象
            SqlSessionFactory build = new SqlSessionFactoryBuilder().build(resourceAsStream);
            //获得session会话对象
            SqlSession sqlSession = build.openSession();
            //执行操作 参数,namespqce+id
            List<User> userList = sqlSession.selectList("userMapper.userAll");
            //打印数据
            System.out.println(userList);
            //释放资源
            sqlSession.close();


            }
            @org.junit.Test
            public void test2() throws IOException {
            User user=new User();
            user.setId(57);
            user.setName("金刚");
            user.setPwd("123");
            //获得核心配置文件
            InputStream resourceAsStream = Resources.getResourceAsStream("MybatisSqlConfig.xml");
            //获得session工厂对象
            SqlSessionFactory build = new SqlSessionFactoryBuilder().build(resourceAsStream);
            //获得session会话对象
            SqlSession sqlSession = build.openSession();
            //执行操作 参数,namespqce+id
            sqlSession.insert("userMapper.save",user);
            sqlSession.commit();
            //释放资源
            sqlSession.close();


            }
            }


            ---在数据库的文件添加中,要提交事务,数据才可以添加成功。

            二。mybaits实现增删改查代码实现

              <?xml version="1.0" encoding="UTF-8"?>
              <project xmlns="http://maven.apache.org/POM/4.0.0"
              xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
              xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
              <modelVersion>4.0.0</modelVersion>


              <groupId>org.example</groupId>
              <artifactId>Mybatis01</artifactId>
              <version>1.0-SNAPSHOT</version>
              <modules>
              <module>Test01</module>
              </modules>


              <dependencies>


              <dependency>
              <groupId>mysql</groupId>
              <artifactId>mysql-connector-java</artifactId>
              <version>8.0.20</version>
              </dependency>
              <dependency>
              <groupId>org.mybatis</groupId>
              <artifactId>mybatis</artifactId>
              <version>3.4.6</version>
              </dependency>
              <dependency>
              <groupId>junit</groupId>
              <artifactId>junit</artifactId>
              <version>4.13</version>
              </dependency>
              <dependency>
              <groupId>log4j</groupId>
              <artifactId>log4j</artifactId>
              <version>1.2.17</version>
              </dependency>


              </dependencies>


              </project>
                package com.liuboss.demo;


                public class User {
                private int id;
                private String name;


                @Override
                public String toString() {
                return "User{" +
                "id=" + id +
                ", name='" + name + '\'' +
                '}';
                }


                public int getId() {
                return id;
                }


                public void setId(int id) {
                this.id = id;
                }


                public String getName() {
                return name;
                }


                public void setName(String name) {
                this.name = name;
                }
                }


                  <?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 namespace="userMapper">
                  <!--查询操作-->
                  <select id="findAll" resultType="com.liuboss.demo.User">
                  select * from t_class
                  </select>


                  <!--插入操作-->
                  <insert id="save" parameterType="com.liuboss.demo.User">
                  insert into t_class value(#{id},#{name})
                  </insert>


                  <!--数据库的修改操作-->
                  <update id="update" parameterType="com.liuboss.demo.User">
                  update t_class set name=#{name} where id=#{id}
                  </update>


                  <!--数据库的删除操作-->
                  <delete id="delete" parameterType="com.liuboss.demo.User">
                  delete from t_class where id=#{id}
                  </delete>


                  </mapper>




                    <?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">
                    <!--mybatis核心配置文件-->
                    <!--配置数据源环境-->
                    <configuration>
                    <environments default="development">
                    <environment id="development">
                    <transactionManager type="JDBC"/>
                    <dataSource type="POOLED">
                    <property name="driver" value="com.mysql.cj.jdbc.Driver"/>
                    <property name="url" value="jdbc:mysql://localhost:3306/text01?serverTimezone=UTC"/>
                    <property name="username" value="root"/>
                    <property name="password" value="123456"/>


                    </dataSource>
                    </environment>
                    </environments>
                    <mappers>
                    <mapper resource="com\liuboss\mapper\UserMapper.xml"></mapper>
                    </mappers>
                    </configuration>
                      package com.liuboss.demo;


                      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.io.IOException;
                      import java.io.InputStream;
                      import java.util.List;


                      public class MyBatis {
                      @Test
                      public void test1() throws IOException {
                      //获得核心配置文件
                      InputStream resourceAsStream = Resources.getResourceAsStream("sqlMapConfig.xml");
                      //获得session工厂对象
                      SqlSessionFactory build = new SqlSessionFactoryBuilder().build(resourceAsStream);
                      //获得session会话对象
                      SqlSession sqlSession = build.openSession();
                      //执行操作 参数,namespqce+id
                      List<User> userList = sqlSession.selectList("userMapper.findAll");
                      //打印数据
                      System.out.println(userList);
                      //释放资源
                      sqlSession.close();


                      }
                      @Test
                      public void test2() throws IOException {
                      //模拟user对象
                      User user=new User();
                      user.setId(6);
                      user.setName("马云人自己");


                      InputStream resourceAsStream = Resources.getResourceAsStream("sqlMapConfig.xml");
                      //获得session工厂对象
                      SqlSessionFactory build = new SqlSessionFactoryBuilder().build(resourceAsStream);
                      //获得session会话对象
                      SqlSession sqlSession = build.openSession();
                      //执行操作 参数,namespqce+id
                      sqlSession.insert("userMapper.save",user);
                      sqlSession.commit();
                      //释放资源
                      sqlSession.close();
                      }
                      /*更新操作*/
                      @Test
                      public void test3() throws IOException {
                      //模拟user对象
                      User user=new User();
                      user.setId(6);
                      user.setName("永乐大帝");


                      InputStream resourceAsStream = Resources.getResourceAsStream("sqlMapConfig.xml");
                      //获得session工厂对象
                      SqlSessionFactory build = new SqlSessionFactoryBuilder().build(resourceAsStream);
                      //获得session会话对象
                      SqlSession sqlSession = build.openSession();
                      //执行操作 参数,namespqce+id
                      sqlSession.update("userMapper.update",user);
                      sqlSession.commit();
                      //释放资源
                      sqlSession.close();
                      }
                      /*删除操作*/
                      @Test
                      public void test4() throws IOException {
                      //模拟user对象
                      User user=new User();
                      user.setId(7);








                      InputStream resourceAsStream = Resources.getResourceAsStream("sqlMapConfig.xml");
                      //获得session工厂对象
                      SqlSessionFactory build = new SqlSessionFactoryBuilder().build(resourceAsStream);
                      //获得session会话对象
                      SqlSession sqlSession = build.openSession();
                      //执行操作 参数,namespqce+id
                      sqlSession.update("userMapper.delete",7);
                      sqlSession.commit();
                      //释放资源
                      sqlSession.close();
                      }
                      }

                      三。mybatis小配置文件的配置。简化配置可以随意修改

                      1. 在resources文件下创建配置文件jdbc.properties配置数据库连接

                        jdbc.driver = com.mysql.cj.jdbc.Driver
                        jdbc.url = jdbc:mysql://localhost:3306/text01?serverTimezone=UTC
                        jdbc.username = root
                        jdbc.password = 123456

                        2.在sqlMapConfig.xml配置文件中引入jdbc小配置文件

                          <properties resource="jdbc.properties"></properties>

                          ---并将其中的数据库配置修改为jdbc.properties中的相关配置名称

                            <?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">
                            <!--mybatis核心配置文件-->
                            <!--配置数据源环境-->
                            <configuration>
                            <properties resource="jdbc.properties"></properties>
                            <environments default="development">
                            <environment id="development">
                            <transactionManager type="JDBC"/>
                            <dataSource type="POOLED">
                            <property name="driver" value="${jdbc.driver}"/>
                            <property name="url" value="${jdbc.url}"/>
                            <property name="username" value="${jdbc.username}"/>
                            <property name="password" value="${jdbc.password}"/>


                            </dataSource>
                            </environment>
                            </environments>
                            <mappers>
                            <mapper resource="com\liuboss\mapper\UserMapper.xml"></mapper>
                            </mappers>
                            </configuration>

                            配置完成进行测试,测试配置是否成功。

                            四,配置文件中别名的配置

                            将别名进行配置方便开发,简化代码。

                              <!--自定义别名  重点:自定义别名的顺序,typeAliases标签只能放在数据库连接文件之前-->
                              <typeAliases>
                              <typeAlias type="com.liuboss.demo.User" alias="user"></typeAlias>
                              </typeAliases>
                                <?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">
                                <!--mybatis核心配置文件-->
                                <!--配置数据源环境-->
                                <configuration>
                                <properties resource="jdbc.properties"></properties>
                                <!--自定义别名 重点:自定义别名的顺序,typeAliases标签只能放在数据库连接文件之前-->
                                <typeAliases>
                                <typeAlias type="com.liuboss.demo.User" alias="user"></typeAlias>
                                </typeAliases>
                                <environments default="development">
                                <environment id="development">
                                <transactionManager type="JDBC"/>
                                <dataSource type="POOLED">
                                <property name="driver" value="${jdbc.driver}"/>
                                <property name="url" value="${jdbc.url}"/>
                                <property name="username" value="${jdbc.username}"/>
                                <property name="password" value="${jdbc.password}"/>


                                </dataSource>
                                </environment>
                                </environments>
                                <mappers>
                                <mapper resource="com\liuboss\mapper\UserMapper.xml"></mapper>
                                </mappers>


                                </configuration>

                                别名配置后的使用。简化开发

                                  <?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 namespace="userMapper">
                                  <!--查询操作-->
                                  <select id="findAll" resultType="user">
                                  select * from t_class
                                  </select>
                                  <!--插入操作-->
                                  <insert id="save" parameterType="user">
                                  insert into t_class value(#{id},#{name})
                                  </insert>
                                  <!--数据库的修改操作-->
                                  <update id="update" parameterType="user">
                                  update t_class set name=#{name} where id=#{id}
                                  </update>
                                  <!--数据库的删除操作-->
                                  <delete id="delete" parameterType="user">
                                  delete from t_class where id=#{id}
                                  </delete>
                                  </mapper>

                                  ---存在的数据类型不用定义别名直接使用即可




                                  openSession设置为true时,将自动提交事务,不用手动提交事务。

                                    //获得session会话对象
                                    SqlSession sqlSession = build.openSession(true);

                                    文章转载自liuboss,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

                                    评论