接前文,操作数据库,通过session.selectOne查询user的id,sql语句被隐藏在UserMapper.xml里了,那么session.selectOne又通过UserMapper.selectUserById参数检索到了隐藏的sql语句,通过参数值1指配给参数id。
//操作数据库 executor执行
User user = session.selectOne("UserMapper.selectUserById", 1);
System.out.println(user);
UserMapper.xml里的mapper内容修改如下:
id="selectUserById" parameterType="Integer" resultType="com.zzz.bean.User">
select * from user where u_id = #{id}
这就是mybatis的风格。
再来一个模糊查询,需要更改的还是操作数据库那段代码
//操作数据库 executor执行
List list = session.selectList("UserMapper.selectUserByName", "王");
for (User u : list) {
System.out.println(u);
}
UserMapper.xml里的mapper内容增加一个select标签,在模糊查询中,参数名value是固定的,否则会报错:
id="selectUserByName" parameterType="String" resultType="com.zzz.bean.User">
select * from user where u_username like '%${value}%'
【Java|mybatis demo之查询测试】为了显示详细日志,在src文件下添加一个log4j.properties配置文件,内容如下:
# Global logging configuration
log4j.rootLogger=DEBUG, stdout
# Console output...
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%5p [%t] - %m%n
推荐阅读
- Java|SpringMVC demo
- Java学习|Cannot resolve org.springframework.boot:spring-boot-starter-logging:2.2.1.RELEASE解决办法
- java|JAVA中方法重写与重载的区别
- 数据结构与算法|4 单循环链表解决约瑟夫问题
- Java|Nginx多个域名配置ssl证书出错解决方案
- 编程语言|末日来临,你的编程语言能干嘛( | 每日趣闻)
- 算法|104 二叉树的最大深度(Java)
- 数据结构|模拟栈的实现(JAVA)
- byte转换文件,文件转换byte数据的各个方式、zip的各个方式、xml报文的生成,md5加密、邮箱、HTTP请求