• 记第一次学习Mybatis


    第一次学习Mybatis是在网上找了一个老师的视频教程看的。

    首先,在Mybatis下载相关包,在入门里面既可以选择使用Maven依赖,也可以直接下载jar包。下好mybatis-3.4.6-zip包后,解压缩会看到里面有如下文件。

    图中选中的即是在学习mybatis初期需要使用到的jar包,将此jar包引入到建立的java工程中。

    上图中的pdf文件是一份官方的说明文档,里面有所需要的配置信息的部分。

    在此,我们还需要mysql的驱动程序,同样的去官网下载mysql-connector-java-8.0.13,同样的将下载压缩后的jar包引入工程中

    然后开始建立Demo,在工程中创建一个Person的类如下

    package com.liusong.entity;
    
    public class Person {
        private int id;
        private String name;
        private int age;
    
        public Person() {
            super();
            this.id = id;
            this.name = name;
            this.age = age;
        }
    
        public Person(int id, String name, int age) {
            super();
            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;
        }
    
        @Override
        public String toString() {
            // TODO Auto-generated method stub
            return "编号:" + id + "," + "姓名:" + name + "," + "年龄:" + age;
        }
    
    }

     同样在数据库中创建一个对应Person的表

    接下来在工程中配置Mapper文件,代码如下

    <?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="com.liusong.entity.PersonMappers">
    
        <select id="queryPersonById" resultType="com.liusong.entity.Person" parameterType= "int"> 
        select * from person where id= #{id} 
         </select>
            
    </mapper>

    配置文件config.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">
    <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://127.0.0.1:3306/shop?serverTimezone=UTC" />
                    <property name="username" value="root" />
                    <property name="password" value="root" />
                </dataSource>
            </environment>
        </environments>
        <mappers>
        <!-- 加载映射文件 -->
            <mapper resource="com/liusong/entity/PersonMappers.xml" />
        </mappers>
    </configuration>

    主程序TestMybatis

    package com.liusong.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 {
            Reader reader = Resources.getResourceAsReader("config.xml");
            SqlSessionFactory sessionFactory = new SqlSessionFactoryBuilder().build(reader);
            SqlSession session = sessionFactory.openSession();
            String statement = "com.liusong.entity.PersonMappers.queryPersonById";
            Person person = session.selectOne(statement, 1);
            System.out.println(person);
            session.close();
        }
    }

    以上准备工作都完成后,开始运行 结果如下

    在此期间曾遇到可很多错误,

    (1)是显示找不到config.xml文件,上网搜索了答案后,将config.xml文件移至src下面,问题解决

    (2)数据库时间与驱动程序时间冲突,上网搜查后得以解决,参考https://blog.csdn.net/Hello_World_QWP/article/details/80421533

    (3)文件加载路径问题,类的加载中间用点隔开,xml文件的加载中间用/隔开。

  • 相关阅读:
    springboot整合Swagger2
    FastJson会把哪些字符串解析为null
    BitMap再再体验之布隆过滤器
    如何利用windows自带的画图工具拼接图片
    BitMap再体验之排序
    BitMap 初体验
    Chrome 隐藏最常访问的网站
    idea同一个项目不同端口启动
    ubuntu16搭建harbor镜像库
    virtualbox硬盘扩容
  • 原文地址:https://www.cnblogs.com/Lovis/p/10175082.html
Copyright © 2020-2023  润新知