热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

MyBatis_Day02

一,mybatis实现查询增加完整步骤。查询,插入操作。1.创建数据库,数据库名称,属性

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

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

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


    <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>Mybatis01artifactId>
    <groupId>org.examplegroupId>
    <version>1.0-SNAPSHOTversion>
    parent>
    <modelVersion>4.0.0modelVersion>


    <artifactId>Test01artifactId>
    <dependencies>
    <dependency>
    <groupId>org.examplegroupId>
    <artifactId>Test01artifactId>
    <version>1.0-SNAPSHOTversion>
    dependency>
    <dependency>
    <groupId>junitgroupId>
    <artifactId>junitartifactId>
    <version>4.13version>
    dependency>
    <dependency>
    <groupId>org.mybatisgroupId>
    <artifactId>mybatisartifactId>
    <version>3.5.6version>
    dependency>
    <dependency>
    <groupId>mysqlgroupId>
    <artifactId>mysql-connector-javaartifactId>
    <version>8.0.20version>
    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值的配置。



        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

        ---其中数据库连接文件,里面要进行数据库操作文件的关联



          PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
          "http://mybatis.org/dtd/mybatis-3-config.dtd">

          <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&useUnicode=true&characterEncoding=utf8&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 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实现增删改查代码实现


              <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.0modelVersion>


              <groupId>org.examplegroupId>
              <artifactId>Mybatis01artifactId>
              <version>1.0-SNAPSHOTversion>
              <modules>
              <module>Test01module>
              modules>


              <dependencies>


              <dependency>
              <groupId>mysqlgroupId>
              <artifactId>mysql-connector-javaartifactId>
              <version>8.0.20version>
              dependency>
              <dependency>
              <groupId>org.mybatisgroupId>
              <artifactId>mybatisartifactId>
              <version>3.4.6version>
              dependency>
              <dependency>
              <groupId>junitgroupId>
              <artifactId>junitartifactId>
              <version>4.13version>
              dependency>
              <dependency>
              <groupId>log4jgroupId>
              <artifactId>log4jartifactId>
              <version>1.2.17version>
              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;
                }
                }




                  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>






                    PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
                    "http://mybatis.org/dtd/mybatis-3-config.dtd">


                    <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 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中的相关配置名称



                            PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
                            "http://mybatis.org/dtd/mybatis-3-config.dtd">


                            <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>
                              <typeAlias type="com.liuboss.demo.User" alias="user">typeAlias>
                              typeAliases>



                                PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
                                "http://mybatis.org/dtd/mybatis-3-config.dtd">


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

                                <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>

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



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



                                    推荐阅读
                                    • MyBatis多表查询与动态SQL使用
                                      本文介绍了MyBatis多表查询与动态SQL的使用方法,包括一对一查询和一对多查询。同时还介绍了动态SQL的使用,包括if标签、trim标签、where标签、set标签和foreach标签的用法。文章还提供了相关的配置信息和示例代码。 ... [详细]
                                    • 本文介绍了在Mac上搭建php环境后无法使用localhost连接mysql的问题,并通过将localhost替换为127.0.0.1或本机IP解决了该问题。文章解释了localhost和127.0.0.1的区别,指出了使用socket方式连接导致连接失败的原因。此外,还提供了相关链接供读者深入了解。 ... [详细]
                                    • 安装mysqlclient失败解决办法
                                      本文介绍了在MAC系统中,使用django使用mysql数据库报错的解决办法。通过源码安装mysqlclient或将mysql_config添加到系统环境变量中,可以解决安装mysqlclient失败的问题。同时,还介绍了查看mysql安装路径和使配置文件生效的方法。 ... [详细]
                                    • 搭建Windows Server 2012 R2 IIS8.5+PHP(FastCGI)+MySQL环境的详细步骤
                                      本文详细介绍了搭建Windows Server 2012 R2 IIS8.5+PHP(FastCGI)+MySQL环境的步骤,包括环境说明、相关软件下载的地址以及所需的插件下载地址。 ... [详细]
                                    • Spring特性实现接口多类的动态调用详解
                                      本文详细介绍了如何使用Spring特性实现接口多类的动态调用。通过对Spring IoC容器的基础类BeanFactory和ApplicationContext的介绍,以及getBeansOfType方法的应用,解决了在实际工作中遇到的接口及多个实现类的问题。同时,文章还提到了SPI使用的不便之处,并介绍了借助ApplicationContext实现需求的方法。阅读本文,你将了解到Spring特性的实现原理和实际应用方式。 ... [详细]
                                    • Android系统移植与调试之如何修改Android设备状态条上音量加减键在横竖屏切换的时候的显示于隐藏
                                      本文介绍了如何修改Android设备状态条上音量加减键在横竖屏切换时的显示与隐藏。通过修改系统文件system_bar.xml实现了该功能,并分享了解决思路和经验。 ... [详细]
                                    • r2dbc配置多数据源
                                      R2dbc配置多数据源问题根据官网配置r2dbc连接mysql多数据源所遇到的问题pom配置可以参考官网,不过我这样配置会报错我并没有这样配置将以下内容添加到pom.xml文件d ... [详细]
                                    • mac php错误日志配置方法及错误级别修改
                                      本文介绍了在mac环境下配置php错误日志的方法,包括修改php.ini文件和httpd.conf文件的操作步骤。同时还介绍了如何修改错误级别,以及相应的错误级别参考链接。 ... [详细]
                                    • Spring源码解密之默认标签的解析方式分析
                                      本文分析了Spring源码解密中默认标签的解析方式。通过对命名空间的判断,区分默认命名空间和自定义命名空间,并采用不同的解析方式。其中,bean标签的解析最为复杂和重要。 ... [详细]
                                    • 本文介绍了在开发Android新闻App时,搭建本地服务器的步骤。通过使用XAMPP软件,可以一键式搭建起开发环境,包括Apache、MySQL、PHP、PERL。在本地服务器上新建数据库和表,并设置相应的属性。最后,给出了创建new表的SQL语句。这个教程适合初学者参考。 ... [详细]
                                    • 这是原文链接:sendingformdata许多情况下,我们使用表单发送数据到服务器。服务器处理数据并返回响应给用户。这看起来很简单,但是 ... [详细]
                                    • eclipse学习(第三章:ssh中的Hibernate)——11.Hibernate的缓存(2级缓存,get和load)
                                      本文介绍了eclipse学习中的第三章内容,主要讲解了ssh中的Hibernate的缓存,包括2级缓存和get方法、load方法的区别。文章还涉及了项目实践和相关知识点的讲解。 ... [详细]
                                    • 本文讨论了在数据库打开和关闭状态下,重新命名或移动数据文件和日志文件的情况。针对性能和维护原因,需要将数据库文件移动到不同的磁盘上或重新分配到新的磁盘上的情况,以及在操作系统级别移动或重命名数据文件但未在数据库层进行重命名导致报错的情况。通过三个方面进行讨论。 ... [详细]
                                    • 本文介绍了Android 7的学习笔记总结,包括最新的移动架构视频、大厂安卓面试真题和项目实战源码讲义。同时还分享了开源的完整内容,并提醒读者在使用FileProvider适配时要注意不同模块的AndroidManfiest.xml中配置的xml文件名必须不同,否则会出现问题。 ... [详细]
                                    • CentOS 6.5安装VMware Tools及共享文件夹显示问题解决方法
                                      本文介绍了在CentOS 6.5上安装VMware Tools及解决共享文件夹显示问题的方法。包括清空CD/DVD使用的ISO镜像文件、创建挂载目录、改变光驱设备的读写权限等步骤。最后给出了拷贝解压VMware Tools的操作。 ... [详细]
                                    author-avatar
                                    mobiledu2502870067
                                    这个家伙很懒,什么也没留下!
                                    PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
                                    Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有