前期知识
项目分工
功能:从应用程序角度出发,软件具有哪些功能
业务:完成功能需要的逻辑 – 对应service中一个方法
事务:从数据库角度出发,完成业务时需执行的sql集合 叫做一个事务
mybatis对于JDBC
mybatis中默认是关闭JDBC的自动提交功能
每一个SqlSession默认是不自动提交事务
1. session.commit() 提交事务
2. openSession(true) 自动提交 [setAutoCommit(true)]
mybatis底层是对JDBC的封装
1. JDBC中executeUpdate() 执行增加/删除/修改
返回值都是int
2. mybatis中insert/delete/update标签 执行增加/删除/修改
没有resultType属性 认为返回值是int
在openSession()时,Mybatis会创建SqlSession+ 创建一个Transaction(事务对象) + autoCommit属性都是false
回滚(用try catch抓) session.rollback()回顾事务
Mybatis实现新增
mapper.xml中提供insert标签
1 | <insert id="tianjia" parameterType="People"> //id是表示现在的方法叫tianjia 然后没有返回值 使用别名People直接用(对整个包取别名) |
test类session提供insert方法
1 | People p=new People(); |