最近博主在学习MyBatis,学习了一下MyBatis项目配置。
下面博主就讲一下这个项目配置的一个情况
先看一下配置流程大纲:
后续,我会解释一下这些配置文件的意义
使用idea去创建项目,然后点击file ->project->moven
其他的随便填一下,都可以的
注:maven项目 联网之后,可以自动帮我们导入需要的jar包。所以这是为什么用这个。
在pom.xml文件加入依赖代码,maven项目就会开始帮我们配置环境了。
配置环境一般如下,mybatis,mysql相关jar包会自动安装。在联网的情况下。
<?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>com.suncaper</groupId>
<artifactId>mMybatistest</artifactId>
<version>1.0-SNAPSHOT</version>
<dependencies>
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis</artifactId>
<version>3.4.5</version>
</dependency>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.12</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>8.0.33</version>
<scope>runtime</scope>
</dependency>
</dependencies>
</project>
这个文件其实也可以不配置,主要是图个方便,因为其在后续mybatis-config.xml文件种主要用作变量取填充代码。
db.driver=com.mysql.cj.jdbc.Driver
db.url=jdbc:mysql://127.0.0.1:3306/emps
db.username=root
db.password=a134679258
emps是数据库的名字,这里注意一下就好。
这个文件是一个核心文件
注意下面几行代码,就可以知道配置db.properties文件得作用了,其实就是做一个变量替换。
<properties resource="db.properties" />
<property name="driver" value="${db.driver}" />
<property name="url" value="${db.url}" />
<property name="username" value="${db.username}" />
<property name="password" value="${db.password}" />
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">
<!--mybatis的主配置文件-->
<configuration>
<!-- 通过properties标签,读取java配置文件的内容 -->
<properties resource="db.properties" />
<!-- 配置mybatis的环境信息 -->
<environments default="development">
<environment id="development">
<!-- 配置JDBC事务控制,由mtybatis进行管理 -->
<transactionManager type="JDBC"></transactionManager>
<!-- 配置数据源,采用dbcp连接池 -->
<dataSource type="POOLED">
<property name="driver" value="${db.driver}" />
<property name="url" value="${db.url}" />
<property name="username" value="${db.username}" />
<property name="password" value="${db.password}" />
</dataSource>
</environment>
</environments>
<mappers>
<mapper resource="mapper/UserMapper.xml"/>
</mappers>
</configuration>
这个代码,是告诉我们mappers文件去哪里找,这个文件会存放我们对数据库得一些操作。
<mappers>
<mapper resource="mapper/UserMapper.xml"/>
</mappers>
这个UserMapper.xml文件放的是我们的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="IUserDao">
<select id="getUserById" parameterType="int" resultType="String">
select ENAME from emp ;
</select>
</mapper>
namespace="IUserDao"这里指的是,我们使用什么函数接口对接下面的sql语句。
resultType=“String” 这里指的是从数据库种返回数据,会被转化成什么类型(可以直接是一个类)。
注意如果类型不匹配会自动返回null。
select ENAME from emp ;
emp就是我们的数据库中的表 ,这就是一个句子。
所以本质上,MyBatis项目就是做了一个java和sql得对接,且可以直接将数据和类进行对接,极大方便了开发。