Mybatis
IDEA创建一个空项目,然后添加Maven模块
maven项目路径如下所示
--项目名
--/src
--/main #存放主程序java代码和资源
--/java #java代码
--/resources #配置文件和资源等,放到这里的文件等同于放到了根目录下
--/test #测试程序文件夹
--/java
--/resources
--/pom.xml #maven 的核心配置文件
- 第一步:在pom文件中配置MySQL和mybatis依赖,并且设置打包方式为jar
<packaging>jar</packaging>
<dependencies>
<!-- https://mvnrepository.com/artifact/org.mybatis/mybatis -->
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis</artifactId>
<version>3.5.11</version>
</dependency>
<!-- https://mvnrepository.com/artifact/com.mysql/mysql-connector-j -->
<dependency>
<groupId>com.mysql</groupId>
<artifactId>mysql-connector-j</artifactId>
<version>8.0.31</version>
</dependency>
</dependencies>
- 第二步:编写mybatis核心配置文件mybatis-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://mysql数据库地址/数据库名称"/>
<property name="username" value="用户名"/>
<property name="password" value="密码"/>
</dataSource>
</environment>
</environments>
<mappers>
//此处填写引入mapper文件
<mapper resource="studentMapper.xml"/>
<mapper resource="teacherMapper.xml"/>
</mappers>
</configuration>
- 第三步:编写mapper文件,并在mybatis-config.xml文件中引入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="org.mybatis.example.BlogMapper">
//此处填写sql语句
<insert id="studentInsert">
insert into stu values (null,'winter','nan');
</insert>
</mapper>
- 第四步:编写mybatis程序。在java目录下新建一个类
public class mybatisTest {
public static void main(String[] args) throws Exception{
//获取SqlSessionFactoryBuilder对象
SqlSessionFactoryBuilder builder = new SqlSessionFactoryBuilder();
//获取SqlSessionFactory对象
InputStream is = Resources.getResourceAsStream("mybatis-config.xml");
//Resources.getResourceAsStream方法是从类路径加载文件,移植性强
//核心配置文件的文件名不固定,只要能通过Resources.getResourceAsStream方法获取到就行
SqlSessionFactory factory = builder.build(is);
//获取SqlSession
SqlSession sqlSession = factory.openSession();
//执行sql语句
int count = sqlSession.insert("studentInsert");//此处的字符串要和mapper文件中的insert标签的id对应
System.out.println("改动了"+count+"条记录");
//commit手动提交
sqlSession.commit();
}
}
注意
mybatis-config.xml文件只有一个,是核心配置文件,存放数据库连接信息等,一般是一个数据库对应一个config文件
mapper文件可以有多个,专门编写sql语句的配置文件,一般一张表对应一个mapper文件
获取SqlSessionFactory对象时要传入一个InputStream对象,该对象还可以使用FileinputStream来获取,但是这样代码灵活性较差,可移植性差,不建议使用。
文章评论