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!