Mybatis第一个程序

官方文档

https://mybatis.org/mybatis-3/zh/index.html

第一个mybatis程序

1.搭建环境新建一个maven工程

导入依赖

mysql

​ 建立一个数据库,和User表和其实际数据,idea进行连接。

mybatis

​ 从官方文档中取得核心配置(包括连接mysql的语句,用户名和密码 其他连接参数)

​ mybatis核心配置文件mybatis-config.xml

junit

maven关于资源过滤的配置

2.建立Dao包 pojo包 Utils包

Dao层UserMapper接口类,声明取得所有用户列表的方法

通过xml方式进行配置,并且在核心 xml中进行注册。

pojo层

建立和表结构一致的User类,必须要放注解,否则无法使用内部的值!

Utils类

使用官方文档推荐的方式,返回一个sqlSession实例,用来操作数据库

官方网页中复制,并且try-catch

作用域提升

static代码块

try-catch包围

junit

​ 测试类建立,@Test注解,使用idea提示的引入依赖

最终展示出查询到的内容

mysql建库做表

对表插入数据的语句

CREATE TABLE newuser (
id INT(20) not NULL primary KEY,
name VARCHAR(30) DEFAULT NULL,
pwd VARCHAR(30) DEFAULT NULL
)ENGINE = INNODB DEFAULT CHARSET = utf8;

INSERT INTO user (id,name,pwd) 
VALUES (1,'用户1','123456'),(2,'用户2','123456'),(3,'用户3','123456')

使用idea的database连接mysql

文档地址:

https://blog.csdn.net/Mq_sir/article/details/117690352

注意:连接都没问题,只是不能直接选 Database而是要在Schemas中选择要使用的数据库即可。

在这里插入图片描述

编写mybatis的核心文件

xml方式配置mybatis

mybatis-config.xml中设置如何连接mysql数据库,

Note:在连接的url中,需要配置一些参数,

jdbc:mysql://localhost:3306/mybatis?&useUnicode=true&characterEncoding=UTF-8&useSSL=false”

其中useSSL如果是在本机测试的话,可设置为假,否则会有错误的提示。

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE configuration
        PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
        "https://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://localhost:3306/mybatis?&amp;useUnicode=true&amp;characterEncoding=UTF-8&amp;useSSL=false"/>
                <property name="username" value="root"/>
                <property name="password" value="Forever269269."/>
            </dataSource>
        </environment>

    </environments>

<!--每一个Mapper的xml都需要在核心配置里完成注册-->
    <mappers>
<!--        <mapper resource="UserMapper.xml"/>-->
        <mapper resource="org/example/Dao/UserMapper.xml"/>
    </mappers>

</configuration>

在声明了操作接口以后,直接在当前目录下声明xml来进行功能配置(很落伍的方式)

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
        PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
        "https://mybatis.org/dtd/mybatis-3-mapper.dtd">

<!--绑定一个对应的Dao/Mapper接口-->
<mapper namespace="org.example.Dao.UserMapper">
<!--声明一个方法,以及返回的结果类型-->
    <select id="getUserList" resultType="org.example.pojo.User">
        select * from mybatis.user
    </select>
</mapper>

声明在pojo中定义和数据库表结构相一致的User类

package org.example.pojo;

import lombok.Data;

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

    public User(int id, String name, String pwd) {
        this.id = id;
        this.name = name;
        this.pwd = pwd;
    }

    public User() {
    }
}
作者:admin  创建时间:2022-12-01 20:13
最后编辑:admin  更新时间:2022-12-19 20:55