第一个Mybatis 程序

开发步骤

1. 配置 maven 的 pom.xml 文件

一. 打包方式:<packaging>jar</packaging>
二. 引入依赖: mybatis、mysql驱动、junit、logback 等

<?xml version="1.0" encoding="UTF-8"?>
<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.0</modelVersion>

    <groupId>org.example</groupId>
    <artifactId>Base</artifactId>
    <version>1.0-SNAPSHOT</version>
<!--    第一步  打包方式-->
    <packaging>jar</packaging>
<!--    第二步 引入依赖-->
    <dependencies>
<!--        mybatis依赖-->
        <dependency>
            <groupId>org.mybatis</groupId>
            <artifactId>mybatis</artifactId>
            <version>3.5.10</version>
        </dependency>
<!--        mysql 驱动依赖-->
        <dependency>
            <groupId>com.mysql</groupId>
            <artifactId>mysql-connector-j</artifactId>
            <version>8.0.33</version>
        </dependency>
    </dependencies>

    <properties>
        <maven.compiler.source>17</maven.compiler.source>
        <maven.compiler.target>17</maven.compiler.target>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    </properties>

</project>

2. 在类的根目录 或者 resources 目录 创建 mybatis 的配置文件 :

mybatis-config.xml(核心配置文件,主要配置连接数据库的信息,只有一个)
XxxxMapper.xml(编写SQL语句的配置文件,一个表对应一个)

3. 配置mybatis-config.xml

初始化:
内容参考: https://mybatis.net.cn/getting-started.html,或下面代码**

<?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="${driver}"/>
        <property name="url" value="${url}"/>
        <property name="username" value="${username}"/>
        <property name="password" value="${password}"/>
      </dataSource>
    </environment>
  </environments>
  <mappers>
    <mapper resource="org/mybatis/example/BlogMapper.xml"/>
  </mappers>
</configuration>

修改

<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/dext"/>
                <property name="username" value="root"/>
                <property name="password" value="root"/>
            </dataSource>
        </environment>
    </environments>
    <mappers>
<!--        引入XxxMapping.xml 配置文件, resource属性默认从 类的根目录查找-->
        <mapper resource="CarMapper.xml"/>
    </mappers>
</configuration>

4. 配置XxxxMapper.xml

初始化
可复制 https://mybatis.net.cn/getting-started.html探究已映射的 SQL 语句下的内容 , 具体如下:

<?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.mybatis.example.BlogMapper">
  <select id="selectBlog" resultType="Blog">
    select * from Blog where id = #{id}
  </select>
</mapper>

修改
mapper标签中写增删改查的sql 语句, 下面以新增为例,
标签的id 是这条语句的唯一标识, 这个id 代表了这个sql语句

<mapper namespace="asdfad">
    <insert id="insertCar">
        insert into t_car(id, car_num,brand,guide_price,produce_time,car_type)
        values(null, '1003', '长安cs35', 30.0, '2000-10-11','燃油车')
    </insert>
    <delete id=""></delete>
    <update id=""></update>
    <select id=""></select>
</mapper>

5.编写mybatis 程序

package com.study.mybatis.test;

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.InputStream;

public class MybatisBaseTest {
    public static void main(String[] args) throws Exception {
        //  获取 SqlSessionFactoryBuilder 对象
        SqlSessionFactoryBuilder sqlSessionFactoryBuilder = new SqlSessionFactoryBuilder();
        InputStream is = Resources.getResourceAsStream("mybatis-config.xml");
        //  获取 SqlSessionFactory 对象
        SqlSessionFactory SqlSessionFactory = sqlSessionFactoryBuilder.build(is);
        //  获取 SqlSession 对象
        SqlSession sqlSession = SqlSessionFactory.openSession();
        // 通过 SqlSession 执行SQL 语句
        int count = sqlSession.insert("insertCar");      // 括号内 为  CarMapper.xml 中 CRUD 语句的 id
        System.out.println( "插入了几条记录" + count);
        // 手动提交
        sqlSession.commit();
    }
}

开发细节

  1. mybatis中 sql 语句结尾的分号可以省略
    insert into t_car(id, car_num,brand,guide_price,produce_time,car_type)
    values(null, '1003', '长安cs35', 30.0, '2000-10-11','燃油车')
  2. Resource 这个单词 大部分情况下资源加载的位置从类的根路径开始
    <mapper resource="CarMapper.xml"/>


    image.png

    3.<transactionManager type="JDBC"/> 事务管理机制的type 值有两个 JDBC(采用jdbc管理事务)、MANAGED(不处理事务,交给第三方处理)

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。