mybatis和mysql锁
- 1.#{xxx}相当于?占位符。
- 2.mybatis以前叫ibatis?
- 3.接口中左侧有个向下的箭头,会跳到实现类的方法中。
- 4.mybaties,底层用反射在内存中,创建userMapper接口的实现类,实际目录中并没有实现类.class
- 5.usermapper接口的实现类根据usermapper.xml配置,用动态代理来创建该实现类。
- 6.数据库的锁???
- 7.Typora中文输入状态下英文符号输出
- 8.sqlsession是什么
- 9.实体类中属性和查询的字段数据类型不一样可以存嘛
- 10.resultType和resultMap的区别。
- 11.查询的xml中,参数都可以不声明类型。
- 12.xml中多条件查询:
- 13.mybatis模糊查询:
- 14.简单类型?
- 15.面试题: #和$的区别
- 16.存数据咋还能返回主键呢
- 17.”jdbc.username“加前缀(jdbc):防止关键字冲突。
- 18.mybatis是手动提交的,增删改:数据库没有变化 事务没有提交
- 19.返回数据库自动生成主键(会用),实际应用场景。
- 20.一个常见的错误:表示接口中的方法找不到对应的sql。
1.#{xxx}相当于?占位符。
传入对象的时候,{}里面是对象的属性。
2.mybatis以前叫ibatis?
MyBatis的历史
原是apache的一个开源项目iBatis, 2010年6月这个项目由apache software foundation迁移到了google code,随着开发团队转投Google Code旗下,ibatis3.x正式更名为Mybatis ,代码于2013年11月迁移到Github。
iBATIS一词来源于“internet”和“abatis”的组合,是一个基于Java的持久层框架。iBATIS提供的持久层框架包括SQL Maps和Data Access Objects(DAO)。
3.接口中左侧有个向下的箭头,会跳到实现类的方法中。
4.mybaties,底层用反射在内存中,创建userMapper接口的实现类,实际目录中并没有实现类.class
UserMapper userMapper = sql.session.getMapper(UserMapper.class)
返回的是一个实现类对象,用的反射。
创建到哪里了???
可能是内存中,堆里面。
5.usermapper接口的实现类根据usermapper.xml配置,用动态代理来创建该实现类。
6.数据库的锁???
锁的基本模式——共享锁
锁的基本模式——排它锁
锁的基本模式——意向锁
Mysql学习宝典(四) – Mysql的事务与锁深入剖析_aaa31203的博客-CSDN博客_多线程
7.Typora中文输入状态下英文符号输出
ctrl + . 即可改回中文输入状态输出中文符号。
8.sqlsession是什么
SqlSession是Mybatis最重要的构建之一,可以简单的认为Mybatis一系列的配置目的是生成类似 JDBC生成的Connection对象的
9.实体类中属性和查询的字段数据类型不一样可以存嘛
肯定不行。
10.resultType和resultMap的区别。
resultType:实体类中的属性名一一对应时
resultMap:当数据库返回的结果集中的字段和实体类中的属性名存在不对应情况时
11.查询的xml中,参数都可以不声明类型。
12.xml中多条件查询:
1)注解
2)直接传递对象。
13.mybatis模糊查询:
1)用concat(‘%’,#{name},‘%’),来拼接字符串。
2)${%#{value}%}只能写value
14.简单类型?
四类八种及包装类+String
15.面试题: #和$的区别
1. # 表示占位符, 相当于JDBC中的?, 底层工作的是PreparedStetement对象, SQL只编译一次, 而且没有SQL注入问题
2. # 当传入的参数为一个简单类型时, #{}可以随便写
1. $ 表示字符串拼接, 底层工作的是Statement对象, 每次都会重新编译, 而且存在SQL注入问题
2. $ 当传入的参数为一个简单类型时, ${}只能写value
//看一下老师,那个forname参数传接口的全类名不能实例化实现类对象直接抛InstantiationException
16.存数据咋还能返回主键呢
17.”jdbc.username“加前缀(jdbc):防止关键字冲突。
18.mybatis是手动提交的,增删改:数据库没有变化 事务没有提交
//最后问题看一下
19.返回数据库自动生成主键(会用),实际应用场景。
20.一个常见的错误:表示接口中的方法找不到对应的sql。
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-LsMaC6io-1641922653943)(…/…/…/A_%E9%BB%91%E9%A9%AC%E8%AF%BE%E5%A0%82%E5%BD%95%E5%B1%8F%E8%B5%84%E6%96%99/173%E6%9C%9F%E5%B0%B1%E4%B8%9A%E7%8F%AD%E8%B5%84%E6%96%99/day37-mybatis%E5%9F%BA%E7%A1%80/day37%E7%AC%94%E8%AE%B0/img/image-20211201091804648.png)]
问题原因:
1)接口名和mapper的xml文件名不同
2)xml文件中写的接口的全路径不对
3)接口中的方法名字和增删改查标签的id不同