mybatis2——配置文件解析和优化

文章目录

    • 配置文件解析:
    • 优化配置文件:

配置文件解析:

<?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指mybatis可以配置多个环境,default指向默认的环境 
		每个SqlSessionFactory对应一个环境environment
		-->
	<environments default="development">
		<environment id="development">
			<!--
			transactionManager事务管理
			JDBC: 这个配置直接使用jdbc的提交和回滚功能。它依赖于从数据源获得链接来管理事务的生命周期。
			MANAGED:这个配置基本上什么都不做,它从不提交或者回滚一个连接的事务。而是让容器(例如:Spring或者J2EE应用服务器)
			来管理事务的生命周期。
			  -->
			<transactionManager type="JDBC" />
			
			<!--dataSource数据源类型:
					UNPOOLED:	这个类型的数据源实现只是在每次需要的时候简单地打开和关闭连接。(浪费资源)																		
			 		POOLED:这个数据源的实现缓存了JDBC连接对象,用于避免每次创建新的数据库连接时都
			 		初始化和进行认证,加快程序的响应。并发WEB应用通常通过这种做法来获得快速响应。
			  -->
			<dataSource type="POOLED">
				<property name="driver" value="com.mysql.jdbc.Driver" />
				<property name="url" value="jdbc:mysql://localhost:3306/testmybatis" />
				<property name="username" value="root" />
				<property name="password" value="123456" />
			</dataSource>
		</environment>
	</environments>
	<!--定义映射SQL语句文件,记得是/  -->
	<mappers>
		<mapper resource="cn/my/entity/user.mapper.xml" />
	</mappers>
</configuration>

user.mapper.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">
<!-- namespace命名空间:防止sql语句id重复
 		namespace命名规则:
 				1)包名+类名
 			
 			2)包名+mapper文件名
 			parameterType 指sql语句参数类型
 			resultType 返回结果类型
 			使用自增主键useGeneratedKeys="true"
 	 -->
<mapper namespace="cn.my.entity.UserMapper">
	<!-- id在该文件中唯一  -->
	<select id="selectUser" resultType="User">
		select * from usermess where id = #{id}
	</select>
	<!-- parameterType参数类型,resultType结果类型 -->
	<insert id="addUser" parameterType="User"
		useGeneratedKeys="true">
		insert into usermess(name,password) values(#{name},#{password})
	</insert>
	<update id="updateUser" parameterType="User">
		update usermess set name=#{name},password=#{password}where id=#{id}
	</update>
	<delete id="deleteUser">
		delete from usermess where id = #{id}
	</delete>

	<select id="selectAll" resultType="User">
		Select * from usermess
	</select>
</mapper>

优化配置文件:

1.引用外部文件,在src下加入db.properties配置文件

driver=com.mysql.jdbc.Driver
url=jdbc:mysql://localhost:3306/testmybatis
username=root
password=123456
  1. 在mybatis.cgg.xml中配置properties标签
  • properties resource=“db.properties”

  • dataSource中

      		
      		
      		
      		
    

mybatis.cfg.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指mybatis可以配置多个环境,default指向默认的环境 
		每个SqlSessionFactory对应一个环境environment
		-->
	<properties resource="db.properties"/>
		
	<typeAliases >
		<!--  typeAlias 为指定类型指明别名,使得mapper映射文件中可以简化引用-->
		<!-- <typeAlias type="cn.my.entity.User" alias="User"/> -->
		
		<!--package为某个包下的所有类指定别名,默认别名是对应的类名   -->
		<package name="cn.my.entity"/>
	</typeAliases>
		
	<environments default="development">
		<environment id="development">
			<!--
			transactionManager事务管理
			JDBC: 这个配置直接使用jdbc的提交和回滚功能。它依赖于从数据源获得链接来管理事务的生命周期。
			MANAGED:这个配置基本上什么都不做,它从不提交或者回滚一个连接的事务。而是让容器(例如:Spring或者J2EE应用服务器)
			来管理事务的生命周期。
			  -->
			<transactionManager type="JDBC" />
			
			<!--dataSource数据源类型:
					UNPOOLED:	这个类型的数据源实现只是在每次需要的时候简单地打开和关闭连接。(浪费资源)																		
			 		POOLED:这个数据源的实现缓存了JDBC连接对象,用于避免每次创建新的数据库连接时都
			 		初始化和进行认证,加快程序的响应。并发WEB应用通常通过这种做法来获得快速响应。
			  -->
			<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>
	<!--定义映射SQL语句文件,记得是/  -->
	<mappers>
		<mapper resource="cn/my/entity/user.mapper.xml" />
	</mappers>
</configuration>
  1. 别名的优化(具体的xml文件参考上方标亮的xml文件)
    typeAlias 和 package两种方法。
  • 更改mybatis.cfg.xml
<typeAliases >
		<!-- 第一种: typeAlias 为指定类型指明别名,使得mapper映射文件中可以简化引用-->
		<!-- <typeAlias type="cn.my.entity.User" alias="User"/> -->
		
		<!--第二种:package为某个包下的所有类指定别名,默认别名是对应的类名   -->
		<package name="cn.my.entity"/>
	</typeAliases>
  • 更改user.mapper.xml中的相关引用。

你可能感兴趣的:(#,mybatis)