[MyBatis]-05 properties & typeAliase


prtyaa
prtyaa 2023-12-27 16:26:56 67188
分类专栏: 资讯

MyBatis 也支持 Properties

<properties>

这个标签位于mybatis.xml的配置文件

主要作用是用于加载外部的properties文件

用法:在src下新建db.properties文件

jdbc.driver =com.mysql.cj.jdbc.Driver
jdbc.url=jdbc:mysql://localhost:3306/mybatis?serverTimezone=UTC
jdbc.username=root
jdbc.password=root

在mybatis.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>
	<!--properties 加载配置文件-->
	<properties resource="db.properties"/>

	<!-- 
		用于指定使用哪个环境 
			default: 用于指定使用的环境id
	-->
	<environments default="dev">
		<!-- 
			用于配置开发环境
				id: 环境的唯一识别码
		 -->
		<environment id="dev">
			<!-- 
				事务管理器
				type: 用于设置mybatis采用什么方式管理事务
					JDBC表示采用和JDBC一样的事务管理方式
			-->
			<transactionManager type="JDBC"></transactionManager>
			<!-- 
				数据源/连接池, 用于配置连接池和数据库连接的参数
				type: 用于设置mybatis是否采用连接池技术
					POOLED表示MyBatis采用连接池技术
			 -->
			<dataSource type="POOLED">
				<property name="driver" value="${jdbc.driver}"/>
				<property name="url" value="${jdbc.url}"/>
				<property name="username" value="${jdbc.username}"/>
				<property name="password" value="${jdbc.password}"/>
			</dataSource>
		</environment>
	</environments>
	<!-- 扫描mapper文件 -->
	<mappers>
		<mapper resource="com/lin/mapper/UserMapper.xml" />
	</mappers>
</configuration>

 

<typeAliase>

给类型起别名

<?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 加载配置文件-->
	<properties resource="db.properties"/>

	<!--typeAliases给类型起别名-->
	<typeAliases>
		<!--给User类取别名
		如果没写alias 就是直接用类名做别名
		但依旧繁琐,所以推荐使用package标签 这样所有的类名就是别名
		-->
		<!--<typeAlias type="com.lin.pojo.User" alias="User"/>-->
		<package name="com.lin.pojo"/>
	</typeAliases>

	<!-- 
		用于指定使用哪个环境 
			default: 用于指定使用的环境id
	-->
	<environments default="dev">
		<!-- 
			用于配置开发环境
				id: 环境的唯一识别码
		 -->
		<environment id="dev">
			<!-- 
				事务管理器
				type: 用于设置mybatis采用什么方式管理事务
					JDBC表示采用和JDBC一样的事务管理方式
			-->
			<transactionManager type="JDBC"></transactionManager>
			<!-- 
				数据源/连接池, 用于配置连接池和数据库连接的参数
				type: 用于设置mybatis是否采用连接池技术
					POOLED表示MyBatis采用连接池技术
			 -->
			<dataSource type="POOLED">
				<property name="driver" value="${jdbc.driver}"/>
				<property name="url" value="${jdbc.url}"/>
				<property name="username" value="${jdbc.username}"/>
				<property name="password" value="${jdbc.password}"/>
			</dataSource>
		</environment>
	</environments>
	<!-- 扫描mapper文件 -->
	<mappers>
		<mapper resource="com/lin/mapper/UserMapper.xml" />
	</mappers>
</configuration>

经过别名后mapper的类型就可以直接使用user

第一条的语句的类型和第二条的作用一直,也就是不用写那么长的路径名

关键代码

       <select id="selAll" resultType="user">
		select * from tb_user
	</select>

	<select id="selById" resultType="com.lin.pojo.User">
		select * from tb_user where id = 1
	</select>

完整代码

<?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">
<!-- 
	namespace: 命名空间, 可以随意定义, 一般情况下要写全限定路径
	MyBatis管理SQL语句是通过namespace+id来定位的
 -->
<mapper namespace="com.lin.mapper.UserMapper">
	<!-- 
		select标签用于编写查询语句
			id: sql语句的唯一标识, 类比为方法名
			resultType: 用于设定返回结果的类型(全限定路径)
				如果返回结果是集合, 要写集合泛型的类型
	 -->
	<select id="selAll" resultType="user">
		select * from tb_user
	</select>

			<select id="selById" resultType="com.lin.pojo.User">
		select * from tb_user where id = 1
	</select>
</mapper>

网站声明:如果转载,请联系本站管理员。否则一切后果自行承担。

本文链接:https://www.xckfsq.com/news/show.html?id=31594
赞同 0
评论 0 条