今天正式开始MyBatis的学习,先来一个入门程序的编写。

- "1.0" encoding="UTF-8"?>
"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">
-
4.0.0 -
-
jay -
mybatis-001 -
1.0-SNAPSHOT -
jar -
-
-
-
org.mybatis -
mybatis -
3.5.13 -
-
-
mysql -
mysql-connector-java -
8.0.30 -
-
-
-
-
-
-
21 -
21 -
UTF-8 -
-

ps:mybatis核心配置文件存放的位置可以随意。这里选择放在resources根下,相当于放到了类的根路径下。
- "1.0" encoding="UTF-8" ?>
- PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
- "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
-
"abc"> -
"insertCar"> - insert into t_car(id,car_num,brand,guide_price,produce_time,car_type)
- values (null,'1004','劳斯莱斯',100,'2011-10-11','燃油车')
-
-
ps:该文件是用来编写sql语句的。
ps:CarMapper.xml文件的位置也是随意的。这里选择放在resources根下,相当于放到了类的根路径下。
⑤编写mybatis_test.java核心代码
- package mybatis;
-
- 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.IOException;
- import java.io.InputStream;
-
- public class mybatis_test {
- public static void main(String[] args) throws Exception {
- //获取SqlSessionFactoryBuilder对象
- SqlSessionFactoryBuilder sqlSessionFactoryBuilder = new SqlSessionFactoryBuilder();
- //获取SqlSessionFactory对象
- InputStream is = Resources.getResourceAsStream("mybatis-config.xml");
- SqlSessionFactory sqlSessionFactory = sqlSessionFactoryBuilder.build(is);
- //获取SqlSession对象
- SqlSession sqlSession = sqlSessionFactory.openSession();
-
- //执行SQL语句
- int count = sqlSession.insert("insertCar");
- System.out.println("插入了几条记录:" + count);
- //需要手动提交
- sqlSession.commit();
- }
- }
ps:默认采用的事务管理器是:JDBC。JDBC事务默认是不提交的,需要手动提交。所以最后一行要加一行手动提交事务的代码,否则数据库不会更新数据。
这里也可以将mybatis-config.xml文件中的JDBC改为MANAGED,意思就是不让Mybatis自动管理事务了,交给其他容器负责,如:spring。 此时修改成MANAGED之后不做任何操作的话,事务就没人管了,会自动提交,不需要最后那一行手动提交的代码了。
pps:也可以在 SqlSession sqlSession = sqlSessionFactory.openSession();这行代码中加个参数:true。 表示自动提交,这样也不需要手动提交了。但是不建议这么做。
最后执行mybatis_test.java文件,控制台会显示:

在Navicat中按F5刷新页面,会显示更新的数据库:
