Mybatis XML 配置文件
2023-12-13 17:43:18
我们刚开始就有说Mybatis 的开发有两种方式:
1.注释
2.XML
注解和 XML 的方式是可以共存的
我们前面说的都是注释的方式,接下来是XML方式
XML的方式分为三步 :?
1.配置数据库(配在 application.yml 里面)
? 这个跟注释的配置是一样的,username应该都是一样的,password记得写自己的
# 数据库连接配置
spring:
datasource:
url: jdbc:mysql://127.0.0.1:3306/mybatis_test?characterEncoding=utf8&useSSL=false
username: root
password: 123456
driver-class-name: com.mysql.cj.jdbc.Driver
2.指明XML 的路径(配在 application.yml 里面)
? 最后一行冒号后面的第一个 mapper 是根据自己在 resource 创建的 directory 名字一样
mybatis:
configuration: # 配置打印 MyBatis?志
log-impl: org.apache.ibatis.logging.stdout.StdOutImpl
map-underscore-to-camel-case: true #配置驼峰?动转换
# 配置 mybatis xml 的?件路径,在 resources/mapper 创建所有表的 xml ?件
mapper-locations: classpath:mapper/**Mapper.xml
在 resource 创建 directory 名为mapper
?
3.写XML的实现
创建一个接口名为 UserInfoXMLMapper
接口里面写如下代码
package com.example.mybatisdemo.mapper;
import com.example.mybatisdemo.model.UserInfo;
import org.apache.ibatis.annotations.Mapper;
import java.util.List;
@Mapper
public interface UserInfoXMLMapper {
List<UserInfo> selectAll();//声明这个方法
}
然后在刚刚创建的 mapper 里面再创建一个 directory 名为 UserInfoXMLMapper.xml(跟上面接口名一样)
然后把下面这一段复制进 UserInfoXMLMapper.xml
这里面的namespace后面那一段,就是刚刚创建的接口的第一行package后面再加上接口名
<?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.mybatisdemo.mapper.UserInfoXMLMapper">
</mapper>
接下来就可以在这里面写代码了,写一个查询所有数据,resultType等号后面跟着的是UserInfoXMLMapper接口的第二行import 后面跟着的内容
<?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.mybatisdemo.mapper.UserInfoXMLMapper">
<select id="selectAll" resultType="com.example.mybatisdemo.model.UserInfo">
select * from userinfo
</select>
</mapper>
然后返回接口的页面,右键,generate,test,勾选selectAll,ok
然后对代码进行补充
package com.example.mybatisdemo.mapper;
import com.example.mybatisdemo.model.UserInfo;
import lombok.extern.slf4j.Slf4j;
import org.junit.jupiter.api.Test;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
import java.util.List;
import static org.junit.jupiter.api.Assertions.*;
@Slf4j
@SpringBootTest
class UserInfoXMLMapperTest {
@Autowired
private UserInfoXMLMapper userInfoXMLMapper;
@Test
void selectAll() {
List<UserInfo> userInfos = userInfoXMLMapper.selectAll();
log.info(userInfos.toString());
}
}
成功?
???????
文章来源:https://blog.csdn.net/qq_40841463/article/details/134816865
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!