• MyBatis-新建一个项目


    • 前言
      •   看视频笔记。
    • 编译环境:MyEclipse+MySql5.7+JDK1.8
    • 目的:新建一个可运行的MyBatis项目。
    • 视频:https://www.bilibili.com/video/BV1gs411j7kA?from=search&seid=11768494494103305445
    • mybatis的下载地址:https://github.com/mybatis/mybatis-3/releases
    • 存在问题:老师代码里面,包括我在idea编辑器里面都可以用这个selectOne(statement,1),但是在我自己的MyEclipse只能用selectOne(statement,Integer.valueOf(1)),而且还需要强制转换。
      • 这个问题已经知道为什么了。selectOne这个方式是旧版本的Mybatis提供的操作方式,现在也可以正常工作。还有另一种方式是通过mapper接口实现,也是Mybatis官方推荐使用的,表达方式也更加直白,代码更加清晰,类型更加安全,也不用担心易错的字符串字面值以及强制类型转换。
      • 更重要的问题我已经找到就是我MyEclipse的版本太版本太低了,mybatis3.5以上最低支持jdk1.8。如果用成3.5以下的版本就可以了。
      • 查看的话:点开项目的properties-》Java Compiler查看
      •  
    • 步骤:
      • 需要两个jar包:mybatis-3.5.6.jar;mysql-connector-java-5.1.41.jar
      • 配置conf.xml和新建表
      • 写personMapper.xml和Person.class
      • 写测试文件
    •   文件整体情况:Java文件
    •  conf.xml代码:视频老师用的是Oracle

    <?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">
    <configuration>
         <environments default="development">
             <environment id="development">
             <transactionManager type="JDBC"/>
                 <dataSource type="POOLED">
                 <property name="driver" value="com.mysql.jdbc.Driver"/>
                 <property name="url" value="jdbc:mysql://127.0.0.1:3360/Test?useSSL=false"/>
                 <property name="username" value="root"/>
                 <property name="password" value="Admin+123"/>
                 </dataSource>
             </environment>
         </environments>
         <mappers>
             <mapper resource="org/lanqiao/entity/personMapper.xml"/>
         </mappers>
    </configuration>
    • 新建表
    CREATE TABLE `person` (
      `id` tinyint(4) DEFAULT NULL,
      `name` varchar(20) DEFAULT NULL,
      `age` tinyint(4) DEFAULT NULL
    ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
    INSERT INTO person VALUES(1,"zs",24);
    • personMapper.xml
    <?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="org.lanqiao.entity.personMapper">
                <select id="queryPersonById" resultType="org.lanqiao.entity.Person" parameterType="int">
             select * from person where id =#{id}
             </select>
    </mapper>
    • Person.java
    package org.lanqiao.entity;
    
    public class Person {
        public Person() {
        }
        public Person(int id, String name, int age) {
    
            this.id = id;
            this.name = name;
            this.age = age;
        }
        
        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 int getAge() {
            return age;
        }
        public void setAge(int age) {
            this.age = age;
        }
        
        
        public String toString() {
            return "Person [id=" + this.id + ", name=" + this.name + ", age=" + this.age + "]";
        }
    • TestMyBatis.java
    • package org.lanqiao.entity;
      
      import java.io.IOException;
      import java.io.Reader;
      
      import org.apache.ibatis.io.Resources;
      import org.apache.ibatis.session.SqlSession;
      import org.apache.ibatis.session.SqlSessionFactory;
      import org.apache.ibatis.session.SqlSessionFactoryBuilder;
      
      
      
      public class TestMyBatis {
          public static void main(String[] args) throws IOException{
              //加载MyBatis文件(为了访问数据库)
              Reader reader=Resources.getResourceAsReader("conf.xml");
              // SqlsessionFactory - connection
              SqlSessionFactory sessionFactory=new SqlSessionFactoryBuilder().build(reader);
              //session - connection
              SqlSession session=sessionFactory.openSession();
              String statement="org.lanqiao.entity.personMapper.queryPersonById";
              Person person= (Person) session.selectOne(statement,Integer.valueOf(1));
              System.out.println(person);
              session.close();
          }
      
      }
  • 相关阅读:
    【Blazor】在ASP.NET Core中使用Blazor组件
    Github和Azure DevOps的代码同步
    【.NET Core】在Win10中用VS Code debug
    【UWP】利用EF Core操作SQLite
    【ASP.NET Core】mdl conflicts with tinymce
    【Windows10】如何使用Segoe MDL2 Assets图标
    Docker安装及使用,Docker 安装MySQL、安装Tomcat、安装RabbitMQ
    Anaconda安装常用配置及命令
    MySQL获取周、月、天日期,生成排序号
    Linux常用查询命令
  • 原文地址:https://www.cnblogs.com/chenliugou/p/14502135.html
Copyright © 2020-2023  润新知