目录
1.添加依赖
2.数据库连接配置
3.配置XML路径
4.下载插件MyBatisX
5.如何使用
6.示例
1.添加依赖
- 创建新项目时添加两个依赖: MyBatis Framewrok 和 MySQL Driver 。
如果是在已经创建好的项目中配置mybatis环境。需要先下载一个插件:EditStarters 。
然后在pom.xml中右键选择:
和创建新项目时一样,添加这两个依赖。
2.数据库连接配置
- 在 application.properties 或 application.yml 中进行连接配置,任意配置一个就行:
2.1 application.properties 文件
#数据库连接配置
spring.datasource.url = "jdbc:mysql://127.0.0.1:3306/idiomdb?characterEncoding=utf8&useSSL=false"
spring.datasource.username=root
spring.datasource.password=123
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
2.2 application.yml 文件
#数据库连接
spring:
datasource:
url: jdbc:mysql://127.0.0.1:3306/idiomdb?characterEncoding=utf8&useSSL=false
username: root
password: 123
driver-class-name: com.mysql.cj.jdbc.Driver
注意事项:检查你的 mysql-connect-java 版本,如果 mysql-connect-java 的版本是5.x之前的使用的是 ”com.mysql.jdbc.Driver“,如果版本大于5.x使用的是"com.mysql.cj.jdbc.Driver"。
3.配置XML路径
在刚才代码的下面再添加一行代码:
#properties
mybatis.mapper-locations=classpath:mybatis/*mapper.xml
#yml
mybatis:
mapper-locations: classpath:mybatis/*mapper.xml
并且在resources目录下创建一个同名的文件。这个文件名和xml文件名都可以自定义。对于XML文件,文件后面部分必须跟上面classpath后的xml文件名一样,开头可以任意添加。
在创建的XML文件中添加如下代码:
<?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.example.demo.mapper.UserMapper">
</mapper>
4.下载插件MyBatisX
下载并启用之后,会在具有一一对应的Interface方法和XXX.xml方法中快速切换,便于编写代码。
5.如何使用
mybatis采用的是Interface方法定义+XXX.xml方法实现,即一张表就对应一组Interface+xml。
我们需要创建一个接口来定义一些对数据库的操作方法,但并不做具体实现,具体实现(sql语句)是在xml文件里。
6.示例
Interface代码
@Mapper //Mapper很重要 必须添加
public interface UserMapper {
//@Param("id") 可加可不加 加了比较好 加了之后 就与后面的参数名无关了 主要是@Param("id") 与 xml的id名保持一致就行
Userinfo getUserById(@Param("id") Integer id);
}
xml 代码
<?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.example.ssmdemo.mapper.UserMapper">
<!-- 主要语句 -->
<select id="getUserById" resultType="com.example.ssmdemo.entity.Userinfo">
select * from userinfo where id = #{id} <!-- jdbc是问号 这里是#符 其实本质上还是? -->
</select>
</mapper>