(29条消息) mybatis相关:别名的配置(typeAliases)与驼峰映射(mapUnderscoreToCamelCase)

1.自定义别名的两种设置

在mybatis中使用parameterType或者resultType必须写全限定名。但我们可以使用系统别名或自定义别名的方式来简化书写

在mybatis配置文件中

   <typeAliases>            <!--方式1:声明单个别名 使用时忽略大小写-->           <!-- <typeAlias type="com.wgz.entity.MiddleStudent" alias="middleStudent"></typeAlias>-->            <!--方式2:扫描包声明别名                       为包下的所有实体类创建别名,即类名,且不区分大小写                       如:student ,StuDent             -->            <package name="com.wgz.entity"/>    </typeAliases>

使用

        <select id="findStudentListByName" parameterType="string" resultType="Student">            select  * from  student_tb where  name like '%${value}%'        </select>
  • 当sql 语句需要参数 时,可以指定对应参数类型 parameter(也可以不写,无影响),
  • 当sql语句是查询时需要指定resultType
  • 增删改返回的的时影响到的行数不需要指定

2.系统别名

在mybatis中TypeAliasRegistry已经为我们配置的默认别名

    registerAlias("string", String.class);     registerAlias("byte", Byte.class);    registerAlias("long", Long.class);    registerAlias("short", Short.class);    registerAlias("int", Integer.class);    registerAlias("integer", Integer.class);    registerAlias("double", Double.class);    registerAlias("float", Float.class);    registerAlias("boolean", Boolean.class);     registerAlias("byte[]", Byte[].class);    registerAlias("long[]", Long[].class);    registerAlias("short[]", Short[].class);    registerAlias("int[]", Integer[].class);    registerAlias("integer[]", Integer[].class);    registerAlias("double[]", Double[].class);    registerAlias("float[]", Float[].class);    registerAlias("boolean[]", Boolean[].class);     registerAlias("_byte", byte.class);    registerAlias("_long", long.class);    registerAlias("_short", short.class);    registerAlias("_int", int.class);    registerAlias("_integer", int.class);    registerAlias("_double", double.class);    registerAlias("_float", float.class);    registerAlias("_boolean", boolean.class);     registerAlias("_byte[]", byte[].class);    registerAlias("_long[]", long[].class);    registerAlias("_short[]", short[].class);    registerAlias("_int[]", int[].class);    registerAlias("_integer[]", int[].class);    registerAlias("_double[]", double[].class);    registerAlias("_float[]", float[].class);    registerAlias("_boolean[]", boolean[].class);     registerAlias("date", Date.class);    registerAlias("decimal", BigDecimal.class);    registerAlias("bigdecimal", BigDecimal.class);    registerAlias("biginteger", BigInteger.class);    registerAlias("object", Object.class);     registerAlias("date[]", Date[].class);    registerAlias("decimal[]", BigDecimal[].class);    registerAlias("bigdecimal[]", BigDecimal[].class);    registerAlias("biginteger[]", BigInteger[].class);    registerAlias("object[]", Object[].class);     registerAlias("map", Map.class);    registerAlias("hashmap", HashMap.class);    registerAlias("list", List.class);    registerAlias("arraylist", ArrayList.class);    registerAlias("collection", Collection.class);    registerAlias("iterator", Iterator.class);     registerAlias("ResultSet", ResultSet.class);

3.开启驼峰映射

驼峰映射,就是将满足sql下划线的标准写法字段自动转换为满足java命名规则的实体属性,不需要用resultMap自己建立映射关系。

如user数据表字段 : u_id , u_name,u_sex;

会自动转换为User类属性匹配的字段:uId,uName,uSex;

 <!--    开启驼峰写法   自动将数据库表字段 s_address 映射为Java属性 sAddress     <setting name="mapUnderscoreToCamelCase" value="true"/>    -->    <settings>        <setting name="mapUnderscoreToCamelCase" value="true"/>    </settings>

3.mybatis配置文件内容和顺序,必须为以下顺序,否则会出现错误

<configuration><!--配置-->	<properties/><!--属性-->	<settings/><!--设置-->	<typeAliases/><!--类型别名--> 	<typeHandlers/><!--类型处理器--> 	<objectFactory/><!--对象工厂-->  	<plugins/><!--插件--> 	<environments><!--配置环境--> 		<environment><!--环境变量--> 		<transactionManager/><!--事务管理器--> 			<dataSource/><!--数据源--> 		</environment>	</environments>	<databaseidProvider/><!--数据库厂商标识-->  	<mappers/><!--映射器--> </configuration>

 


---------------------
作者:zitian246
来源:CSDN
原文:https://blog.csdn.net/zitian246/article/details/109139050
版权声明:本文为上一个作者原创文章,转载请附上博文链接请询问zitian246!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值