MyBatis学习路上打的那些码(四、查询多个User和一个优化typeAlias)
来源:互联网 发布:网络兼职平台 编辑:程序博客网 时间:2024/05/22 08:07
1,查询多个User
先加一个select,注意resultType用的是UserPo,当返回值不止一行的时候,我们只要把每行的类型告诉mybatis就好了
<select id="getAllUser" resultType="com.demo.user.po.UserPo">select * from user</select>然后就可以用了,注意,接受的时候,就不能用UserPo了,要用List了。
//查询所有@Testpublic void test5() {List<UserPo> users=ss.selectList("getAllUser");for(UserPo user:users) {System.out.println(user);}}完事~
2,一个优化typeAlias
如果你是处女座,那么你可能已经发现我们的代码里有个很让人不得劲儿的地方了,没错,就是这个地方:
其实工程真的做起来,会有各种各样的select,也就会有很多resultType,如果我们每次都写全限定名的话,当然很难受,所以,MyBatis提供了一种方式:typeAlias,就是给可能用到的po起一个别名,用到的时候调用别名就好了~因为工程到处都会用到po,也就是说,很多sql语句都可能用到到po,所以,起别名当然要在大的那个配置文件里了~(我们不希望每个mapper都有一套自己的“别名系统”吧),也就是mybatis_config.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><typeAliases><typeAlias type="com.demo.user.po.UserPo" alias="user" /><!-- 这里还能放好多typeAlias --></typeAliases><environments default="development"><environment id="development"><transactionManager type="JDBC" /><dataSource type="POOLED"><property name="driver" value="com.mysql.jdbc.Driver" /><property name="url" value="jdbc:mysql://localhost:3306/heiheihahadb" /><property name="username" value="root" /><property name="password" value="8888" /></dataSource></environment></environments><mappers><mapper resource="com/demo/user/mapper/user_mapper.xml" /></mappers></configuration>
这样,在mapper那里,就可以直接用别名了:<select id="getAllUser" resultType="user">select * from user</select>
很简单吧,如果还有其他的别名,只要在typeAliases标签里面再添加别的typeAlias就可以了,像这样:<typeAlias type="com.xxxx.xxxx.xxPo" alias="xx"/>。
还是感觉有点麻烦,有没有一种方法,用一行代码,把po包下的所有po都起好别名呢?
也有~
<typeAliases><package name="com.demo.user.po"/></typeAliases>
不用一个一个写typeAlias了,把po所在的包写在这里,就可以直接通过类名使用了:<select id="getAllUser" resultType="UserPo">select * from user</select>
完事。
阅读全文
0 0
- MyBatis学习路上打的那些码(四、查询多个User和一个优化typeAlias)
- MyBatis学习路上打的那些码(六、一个小野怪和一个大BOSS:ResultMap)
- MyBatis学习路上打的那些码(二、准备工作和一个小demo)
- MyBatis学习路上打的那些码(一、概览)
- MyBatis学习路上打的那些码(五、MyBatis新特性:映射器(mapper))
- MyBatis学习路上打的那些码(三、更多简单的例子)
- MyBatis学习路上打的那些码(七、ResultMap更多技巧:association、collection、constructor)
- MyBatis学习笔记四(MyBatis多表查询)
- MyBatis typeAlias
- mybatis基本配置之别名(TypeAlias)
- MyBatis学习笔记(四)优化MyBatis配置文件中的配置
- SQL查询和优化(四)
- mybatis中的typeAlias
- mybatis中的typeAlias
- Insight mybatis typeAlias
- MyBatis学习笔记(四)---关联数据的查询
- Mybatis源码之(TypeAliasRegistry)TypeAlias别名实现机制
- mybatis基本配置之别名2(TypeAlias)
- 加多芬科技深度剖析--“什么是移动支付服务商“
- shell中“空格”使用总结
- hadoop HA集群的搭建
- transient关键字小结
- ccf 窗口 java 2014_3_2
- MyBatis学习路上打的那些码(四、查询多个User和一个优化typeAlias)
- 字符设备驱动-Linux内核异常处理体系结构
- android 百度云ocr识别快速集成
- 高仿iOS 滚轮实现 省市区 城市选择三级联动,无需自己配置省市区域的数据
- Struts2执行流程及环境搭建
- Java8 新特性 接口中的default方法
- Android中的class动态加载机制
- 双检锁安全性
- 锁定文件失败 开启模块diskearly的操作失败