Mybatis实现CRUD
根据ID查询数据
添加数据信息
编写接口:
配置xml:values值后面的值是根据Student的类的属性获取的,所以必须注意大小写
测试
处理数据中乱码的问题 ?useUnicode=true&characterEncoding=utf-8
添加数据的时候,添加多个字段的信息(存在Map中)
插入数据库时,如果是一个完整的对象信息,直接传递对象就行了,但是如果我们只给一行 中的某些列赋值该怎么办呢?
我们采用的是Map赋值
定义接口:map作为参数
new一个hashmap集合,然后给需要赋值的字段命名
编写配置文件,values后面的值是根据上面代码中map的key来获取的
查看数据库,由于有一列未赋值,所以值为null
查询聚合函数的结果
接口:查询最大值,最小值和平均值
Mybatis实现CRUD的总结
mapper⽂件中参数的读取:
单个基本类型参数或 String 类型:
mapper读取参数:#{ 参数名(也可以是⾃定义名称)}
参数类型为对象类型时,读取参数的语法: #{ 对象中的属性名}
insert,delete,update,select中的parameterType参数可以省略
多个参数值的情况?
将参数封装到map集合中,再将map集合传递给mapper⽂件
取值的时候,#{map的key值}
处理结果没有和实体类做对应的时候,可以返回map类型
在做查询时,如果需要将查询的结果和实体类属性⾃动对应的话,要求:属性名=列名
添加:session.insert("namespace+id"[,传递给sql的参数值]);
修改:session.update("namespace+id"[,传递给sql的参数值]);
删除:session.delete("namespace+id"[,传递给sql的参数值]);
单⾏:session.selectOne("namespace+id"[,传递给sql的参数值]);
多⾏:session.selectList("namespace+id"[,传递给sql的参数值]);
处理多个聚合函数:使⽤map作为⽅法的返回值,默认key是列名
注意:增删改的时候需要提交事务
session.commit();
getMapper的调取方法,简化 Test函数中的代码
之前的调用方法
我们可以使用getmapper简化代码,建议使用