mybatis入门功法第二式

优化Mybatis配置文件中的配置

优化连接数据库的配置

  1. 使用properties
<configuration>
	<!-- 定义属性 -->
	<properties>
		<property name="driver" value="com.mysql.jdbc.Driver" />
		<property name="url"
			value="jdbc:mysql://localhost:3306/jektong?useUnicode=true&amp;characterEncoding=utf-8" />
		<property name="username" value="jektong" />
		<property name="password" value="123456" />
	</properties>
	<!-- 关联数据库 -->
	<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>
</configuration>
  1. 使用外部的db.properties文件

db.properties

# mysql
url=jdbc:mysql://localhost:3306/jektong?useUnicode=true&amp;characterEncoding=utf-8
driver=com.mysql.jdbc.Driver
username=jektong
password=123456

配置:

<configuration>
	<!--引入外部文件 -->
	<properties resource="db.properties"/>
	<!-- 关联数据库 -->
	<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>
</configuration>
  1. 为类定义别名

    映射文件引用时,需指定实体类的全类名(包名+类名)

    <!-- 指定类型别名 -->
    	<typeAliases>
    		<!-- <typeAlias type="com.jektong.entity.Dept" alias="_Dept"/>
    		<typeAlias type="java.lang.Integer" alias="int"/> -->
    		<!-- 指定类型别名包 别名为类名 -->
    		<package name="com.jektong.entity"/>
    	</typeAliases>
    

返回Map类型的查询结果

根据员工号查询员工信息的同时查询出部门所在的部门信息

<select id="findEmpAndDeptById" resultType="map"
		parameterType="int">
		select t.*, d.* from t_emp t join dept_xu d on
		d.deptno=t.e_deptno where t.e_deptno=#{id}
	</select> 

Mapper映射接口

Mapper映射接口是开发者创建用于绑定映射语句的接口,映射接口的实例对象可以从SqlSession对象中获取

注意:

映射文件中的namespance的值必须与对应的Mapper接口的名称一致,映射文件中的id名必须与接口方法名保持一致

补充:

扫描二维码关注公众号,回复: 11931627 查看本文章
#{} ${}
1.都是取的是变量的值
2.#{}取值,sql语句编译会替换为?,${}直接替换为变量的值,因此#{}更安全,可以防止sql注入,并且是预编译的
3.${}一般用于传入的数据库对象如:表名 字段名

猜你喜欢

转载自blog.csdn.net/qq_41857955/article/details/109065782
今日推荐