Mybatis配置

Mybatis配置

常用依赖(pom.xml)

<!--添加log4j依赖-->
<dependency>
<groupId>log4j</groupId>
<artifactId>log4j</artifactId>
<version>1.2.17</version>
</dependency>
<!--添加mybatis依赖-->
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis</artifactId>
<version>3.5.4</version>
</dependency>
<!--添加mysql依赖-->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>8.0.31</version>
</dependency>
<!--添加jstl依赖-->
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>jstl</artifactId>
<version>1.2</version>
</dependency>
<!--添加jlombok依赖-->
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>1.18.30</version>
</dependency>

常用配置文件

log4j配置文件 resource目录下创建(log4j.properties)

### direct log messages to stdout ###
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.Target=System.out
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} %m%n
### direct messages to file mylog.log ###
### log4j.appender.file=org.apache.log4j.FileAppender
### log4j.appender.file.File=d:mylog.log
### log4j.appender.file.layout=org.apache.log4j.PatternLayout
### log4j.appender.file.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} %m%n
### set log levels - for more verbose logging change 'debug?info?warn?error' ###
### log4j.rootLogger=debug,stdout,file
log4j.rootLogger=debug,stdout

Mybatis配置文件 resource目录下创建(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="${driver}"/>
<property name="url" value="${url}"/>
<property name="username" value="${username}"/>
<property name="password" value="${password}"/>
</dataSource>
</environment>
</environments>
<mappers>
<mapper resource="org/mybatis/example/BlogMapper.xml"/>
</mappers>
</configuration>

Mybatis 数据源的提取 resource目录下创建(db.properties)

driver = com.mysql.cj.jdbc.Driver
url = jdbc:mysql://localhost:3306/qinmanage
username=root
password=127003

Mybatis 数据源的提取 resource目录下创建(db.properties)

db.driverName = com.mysql.cj.jdbc.Driver
db.url = jdbc:mysql://localhost:3306/qinmanage
db.username=root
db.password=127003

Mybatis核心的配置文件(mybatis-config.xml)中引入db.properties文件

<?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>
<!--引入数据源的配置文件-->
<properties resource="db.properties"/>
<environments default="development">
<environment id="development">
<transactionManager type="JDBC"/>
<dataSource type="POOLED">
<!--
${key}使用db.properties中的内容
-->
<property name="driver" value="${db.driverName}"/>
<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/StudentMapper.xml"/>
<mapper resource="mapper/UserMapper.xml"/>
</mappers>
</configuration>

实体类对象别名的设置

<?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>
<!--引入数据源的配置文件-->
<properties resource="db.properties"/>
<!--
实体类对象的别名设置
也就是在mapper.xml中使用实体类的时候,只需要书写类名不能加包名
-->
<typeAliases>
<!--指定单个实体类的别名
type:实体类 alias:别名
<typeAlias type="com.neuedu.pojo.Student" alias="stu"/>
-->
<!--指定实体类的包位置,默认的名别为类名-->
<package name="com.bboy.pojo"/>
</typeAliases>
<environments default="development">
<environment id="development">
<transactionManager type="JDBC"/>
<dataSource type="POOLED">
<!--
${key}使用db.properties中的内容
-->
<property name="driver" value="${db.driverName}"/>
<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/StudentMapper.xml"/>
<mapper resource="mapper/UserMapper.xml"/>
</mappers>
</configuration>

传入的参数类型 parameterType/parameterMap

1. parameterType/parameterMap(使用很少)
1.1 表示传入的参数类型(基本数据类型、引入数据类型)
1.1.1 传入基本数据类型
parameterType="int"/parameterType="boolean"
1.1.2 传入引用数据类型
parameterType="包名+类名"
parameterType="com.bboy.pojo.Student"
parameterType="别名"
parameterType="Student"
1.1.3 传入map,具体使用的时候,使用的是map的键

返回值类型 resultType/ resultMap

2. resultType
2.1 返回值类型
2.2 需求:查询出来的类名必须与返回的实体类对象的属性名一直
select name,age from student
Student(name,age)
2.3 思考:如果查询出来的列名与实体类的属性名不一致?

如果查询出来的列名与实体类的属性名不一致 使用resultMap进行匹配

3. resultMap
3.1 返回值的类型
3.2 需求:查询出来的列名可以和实体类中的属性名不一致时,使用resultMap进行匹配
<?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.bboy.mapper.StudentMapper">
<!--
resultMap:
id: 自定义唯一标识
type: 此映射关联的类
id: 主键
column: 表中查询出来的字段名
property: 对象中的属性
result:非主键字段
-->
<resultMap id="studentmap" type="Student">
<id column="t-id" property="id"/>
<result column="t_name" property="name"/>
<result column="t_birth" property="birth"/>
<result column="t_sex" property="sex"/>
</resultMap>
<select id="listStudents" resultMap="studentmap">
select *from student;
</select>
</mapper>

配置映射文件 resource目录下(StudentMapper.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="com.bboy.mapper.StudentMapper">
<select id="selectBlog" resultType="Blog">
select * from Blog where id = #{id}
</select>
</mapper>
posted @   Kbaor  阅读(12)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 零经验选手,Compose 一天开发一款小游戏!
· 一起来玩mcp_server_sqlite,让AI帮你做增删改查!!
点击右上角即可分享
微信分享提示