使用单个mybatis框架进行mysql数据库的连接和操作?

使用单个mybatis框架进行mysql数据库的操作?

简述

先来说一下数据库连接的演变,刚开始的时候,最原生的连接并操作mysql数据库的办法是使用JDBC技术,这种技术相对来说写的源码比较多,比较繁杂;
后来就出现了JDBCTmplate;
再后来就出现了mybatis框架,mybatis框架进行mysql数据库操作还是比较简便的。

可以去mybatis中文官网看一下最简单的连接示例,地址:https://mybatis.net.cn/getting-started.html

连接并操作mysql数据库只有mybatis框架就可以了吗?

不行。mybatis框架只不过是让操作数据库更加简便了而已,但是它内部并不能提供连接mysql数据库的jar包,如果我们想要连接mysql数据库,必须还要引入mysql驱动包,所以,正常情况下使用mybatis连接并操作数据库,需要两个jar包,如下图:
使用单个mybatis框架进行mysql数据库的连接和操作?_第1张图片
jar包依赖代码如下:

<dependency>
            <groupId>org.mybatis</groupId>
            <artifactId>mybatis</artifactId>
            <version>3.5.1</version>
        </dependency>
        <!-- MySql -->
        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <version>5.1.47</version>
        </dependency>

那么接下来就是怎样使用mybatis框架结合mysql驱动去连接并操作mysql数据库了?

首先需要写一个mybatis的配置文件,如下图:
使用单个mybatis框架进行mysql数据库的连接和操作?_第2张图片
代码如下:

<?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://localhost:3306/kml"/>
                <property name="username" value="root"/>
                <property name="password" value="password"/>
            </dataSource>
        </environment>
    </environments>
    <mappers>
        <mapper resource="mapper/LogScriptMapper.xml"/>
    </mappers>
</configuration>

然后写mapper.xml映射文件,这个文件的作用是定义sql语句,如下图:
使用单个mybatis框架进行mysql数据库的连接和操作?_第3张图片
代码如下:

<?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.sh.game.mapper.LogScriptMapper">
    <select id="selectById" resultType="com.sh.game.DO.LogScriptDO">
        select * from log_script where id = #{id}
    </select>
</mapper>

当然我们需要在本地mysql数据库里面建立一个数据库,并且在数据库里面建立一张表,这个过程就不演示了,这里看一下表结构,如下图:
使用单个mybatis框架进行mysql数据库的连接和操作?_第4张图片

mybatis并不是直接操作sql语句的,虽然我们在mapper.xml映射文件中已经写好了sql语句,但是我们不能直接操作,而是需要写一个与其名字相同的动态代理接口进行操作,如下图:
使用单个mybatis框架进行mysql数据库的连接和操作?_第5张图片
里面的每一个方法都对应一个sql语句,想要对数据库进行什么样的sql操作,我们直接调用动态代理接口LogScriptMapper中的方法就行。

然后写一个与数据库对接的DO类,如下图:
使用单个mybatis框架进行mysql数据库的连接和操作?_第6张图片
最后,一切写好之后,就要进行最终的测试了,测试如下图:
使用单个mybatis框架进行mysql数据库的连接和操作?_第7张图片
代码如下:

/**
 * @author xuan
 * @create 2023/10/19
 */
public class Test01 {
    public static void main(String[] args) throws IOException {
        String rootPathOfMybatisConfig = "config/mybatis.xml";
        InputStream inputStream = Resources.getResourceAsStream(rootPathOfMybatisConfig);
        SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);

        try (SqlSession session = sqlSessionFactory.openSession()) {
            LogScriptMapper logScriptMapper = session.getMapper(LogScriptMapper.class);
            LogScriptDO logScriptDO = logScriptMapper.selectById(1);
            System.out.println(logScriptDO);
        }
    }
}

看一下输出结果,如下图:
使用单个mybatis框架进行mysql数据库的连接和操作?_第8张图片

至此,使用"mysql-connector-java连接数据库驱动和mybatis操作mysql数据库框架" 这两个优秀技术连接并操作数据库就完美成功了。

你可能感兴趣的:(数据库连接新总结,数据库,mybatis,mysql)