Mybatis-HM(3)-模糊查询-ResultMap-SqlSession分析-Properties连接文件外置-TypeAliases-Package

模糊查询

推荐使用这种方式,使用的prepareStatement的方式

   List<User> findByNameLike(String name);
    <select id="findByNameLike" parameterType="String" resultType="com.kcl.pojo.User">
        select * from user where username like #{name}
    </select>
 List<User> users = mapper.findByNameLike("%李%");

或者写成这个样子,必须写成value, 调用时就不需要%
不推荐这种方式,应为sql语句是拼接的方式

   <select id="findByNameLike" parameterType="String" resultType="com.kcl.pojo.User">
        select * from user where username like '%${value}%'
    </select>

在这里插入图片描述

ResultMap 查询结果的列名和实体类属性名对应关系

实体类字段

    private String myAddress;

在这里插入图片描述
olor_FFFFFF,t_70)

userDao实现本质 是 SQLSession底层操作

SQLSession创建SQLSession后,读取UserDao的字节码文件,实现userDao接口中的方法,
根据SQLSession的底层操作实现接口中的方法,这些方法由于mapper.xml中的定义相联系
SQLSession也与mybatisConfig相联系

//读取字节码文件
UserDao userDao = sqlSession.getMapper(UserDao.class);
List<User> users = userDao.findAll();

userDao 本质是

List<User> users2 = sqlSession.selectList("com.kcl.dao.UserDao.findAll");
defaultSqlsession.selectList()
CatchingExecutor.query()
return BaseExecutor.doQuery()
SimpleExecutor.doQuery()
RoutingStatementHandler.query()
PrepareStatementHandler.query() .execute();

// addUser(User user);
sqlSession.insert("com.kcl.dao.UserDao.addUser",user);
DefaultSQLSession.update(statement)
CatchingExecutor.update()
BaseExecutor.update()
SimpleExecutor.doUpdate();
RoutingStatementHandler.update()
PrepareStatementHandler.execute()
// updateUser(User user);
sqlSession.update("com.kcl.dao.UserDao.updateUser",user);
// deleteUser(int id);
sqlSession.update("com.kcl.dao.UserDao.deleteUser",id);

查询一个用户

User user = sqlSession.selectOne("com.kcl.dao.UserDao.findById",id);

Properties

在这里插入图片描述
properties文件 &amps; => &

diver=com.mysql.jdbc.Driver
url=jdbc:mysql://localhost:3306/mybatis02?useSSL=false&useUnicode=true&characterEncoding=utf-8
username=root
password=kclkd2013

TypeAliases Package

类型别名是为java类型设置一个短的名字。它只和XML配置有关,存在的意义仅在于用来减少类完全限定名的冗余。
typeAliases(类型别名)

    <!--类型别名-->
    <typeAliases>
        <!-- typeAlias type="com.kcl.pojo.User" alias="user"/-->
         <package name="com.kcl.pojo"></package>
    </typeAliases>

package: 用于指定要配置别名的包,当指定之后,该包下的实体类都会注册别名
并且类名就是别名,不在区分大小写

    <select id="getUserList" resultType="user" >
        select * from mybatis02.user;
    </select>
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值