20201118_陈宇_
日志
学习总结:
mybatis:
环境搭建步骤:
1.创建 maven 工程
2.导入相关依赖
3.编写代码(实体类和持久层接口)
4.编写映射配置文件
5.编写 SqlMapConfig.xml
6.编写测试类
select * from userinfo where id = #{id}
resultType 属性:用于指定结果集的类型
parameterType 属性:用于指定传入参数的类型
#{}:代表占位符,相当于jdbc中的?
如果此方法只有一个参数,占位符可以写成#{value},也可以写成变量名#{id }
我们在 parameterType 属性上指定了实体类名称,所以可以省略 userInfoModel .而直接写username
返回值类型不用声明,默认就是int类型。表示执行sql对数据库表的影响行数
mybatis默认自动提交事务是关闭的,因此,我们在实现增删改时一定要去控制事务的提交,那么在mybatis 中如何控制事务提交呢?使用session.commit()方法
新增的id赋值到了我们传入的对象中,要求:主键必须是自增的
测试方法:
@test
public void select(){
list
for(userinfoModel user:list){
System.out.pintf(user);
}
}
@test
public void selelct(){
list
for(userinfomodel user:list){
System.out print(user)
}
}
#{}表示占位符,可以有效防止sql注入
${}表示拼接sql串
使用标签的parameterType属性来设定。该属性的取值可以是基本类型,引用类型(例如:String 类型),还可以是实体类类型(POJO 类)。 实体类类型,目前我们只能使用全限定类名
resultType 属性可以指定结果集的类型,它支持基本类型和实体类类型
实体类中的属性名称必须和查询语句中的列名保持一致,否则无法实现封装
esultMap 标签可以建立查询的列名和实体类的属性名称不一致时建立对应关系。从而实现封装。在select 标签中使用 resultMap 属性指定引用即可
1读取配置文件:
InputStream in=Resources.getResourceAsstream("sqlmapconfig.xml");
2创建sqlsessionFactory的构建者对象
SqlsessionFactoryBuilder builder=new sqlaessionFactoryBuilder();
3使用构建者创建工厂对象 SqlsessionFactory
SqlsessionFactory factory=builder.build(in);
4使用sqlsessionFactory生产sqlsession对象
sqlsession session=factory.openSession();
5.使用 SqlSession 创建 dao 接口的代理对象
UserInfoDao userDao=session.getMapper(IUserInfoDao.class)
学习心得:
今天继续跟进了mybatis框架,讲了他的增删改,以及配置文件时的一些属性,内容相对来说比较简单,操作感觉也不是很复杂,以前总觉得框架很高级很神秘,学习了之后感觉也还好,可能是我还没有清楚地认识到框架的核心吧。
近期评论