Mybatis学习笔记--3:配置文件、属性

  1. 单个传参:MyBatis可以接受基本类型,对象类型,集合类型的值。可直接使用这个参数,不需要经过任何处理。

多个参数:

方式一:传参

ccc1b063eaab79aca7ad35e65781240cd49.jpg

6a79a10482a60b8e8fa004b4845dc51181a.jpg

方式二:@Param

65b6b531b90c4968651e410da44dfdc52e2.jpg

b52ce189b6eb480a8c67070eda4634e0068.jpg

0b6f6f93fdadf322a1ae107d87ef62fe5e1.jpg

resultType:

1.简单类型(8个基本+String)
2.输出参数为实体对象类型
3.输出参数为实体对象类型的集合 

resultMap:resultType要求必须得要字段名称和数据库当中的名称一致时才能有值,否则为null;在正常情况下列名和JavaBean的属性名一般都是不同的,因此还是需要resultMap的。

如果sql查询字段名和pojo的属性名不一致,可以通过resultMap将字段名和属性名作一个对应关系

766c49481c77c9fcfd9c678c51e41d154a7.jpg


	<resultMap id="customerMap" type="Customer">
//column表示 数据库字段名     ;  property表示POJO类中属性名
		<id column="cust_id" property="cust_ids"/>
		<result column="cust_name" property="cust_names"/>
		<result column="cust_profession" property="cust_professions"/>
		<result column="cust_phone" property="cust_phones"/>
		<result column="email" property="email"/>
	</resultMap>

	<select id="getCustomer" resultMap="customerMap">
		select * from customer where cust_id=#{id}
	</select>
  • properties:定义属性及读取属性文件

c417ecd6eac9126c28fca3b2527cc3f078f.jpg

  • settings:这是 MyBatis 中极为重要的调整设置,它们会改变 MyBatis 的运行时行为

aff473819f547d25f47d8a58ef089343bb9.jpg

typeAliases:类型别名是为 Java 类型设置一个短的名字

2cb0807bf5ff22b5b3076dfb61bd7edb0bb.jpg

a1c9a689aaf0e5836ba87aba3a74344e890.jpg

如果我们一般插入数据的话,如果我们想要知道刚刚插入的数据的主键是多少,我们可以通过以下的方式来获取

	<!--添加-->
	<insert id="insertCustom" parameterType="com.itlike.domain.Customer">

		/*获取插入的最后一个id*/
		<selectKey keyColumn="cust_id" keyProperty="cust_id" resultType="Integer" order="AFTER">
			select last_insert_id()
		</selectKey>

		insert into `customer`(cust_name,cust_profession,cust_phone,email)
		values (#{cust_name},#{cust_profession},#{cust_phone},#{email})
	</insert>
  • 延时加载(懒加载):如果不采用延迟加载  (立即加载),查询时会将 一 和多 都查询,如果想要  暂时只查询1的一方,  而多的一方 先不查询 而是在需要的时候再去查询 -->延迟加载

         在Mybatis中延迟加载就是在resultMap中配置具体的延迟加载..

    <!-- 全局配置参数 -->
    <settings>
        <!-- 延迟加载总开关 -->
        <setting name="lazyLoadingEnabled" value="true" />  
        <!-- 设置按需加载 -->
        <setting name="aggressiveLazyLoading" value="false" />
    </settings>

 

转载于:https://my.oschina.net/u/4152684/blog/3065332

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值