MyBatis增删改查
1.1 查询
上期介绍了mybatis的使用方法,这期详细介绍mybatis的增删改查语法
首先是查询方法,接上期的步骤,先来看dao包
这是一个根据id进行查询的方法
然后是mapper映射文件内该如何实现
图中的namespace="",是dao包路径,里面的select是查询方法的关键词 ,id="",是你要使用的是哪个方法,resultType="",是实体类的路径,这个可写可不写,因为接收的时候会自动将实体类导过来,然后就是写sql语句,注意看我后面的查询条件,empId=#{id},这个是固定写法,里面的id实际上是这个方法内的字段(int id),在测试类中使用的时候直接赋值即可。
也不要忘了要在最后加上一句sqlsession.close() 。将其关闭,下图为查询结果
1.2 新增
以上是查询的写法,接下来讲新增,先写一条新增的方法
这里我用实体类作为条件,不用实体类的方法会在修改里讲,接下来看mapper
注意新增的关键词insert,每个方法的关键词都不一样,这个要注意。
再看新增的sql语句,在jdbc中是values(?)的写法,在这里就是直接在values里面用#{}将实体类里面的字段写进去,而实体类里面的值则是在测试类里进行修改
运行结果如下:
这里要注意一点,在jdbc中增删改查都是由数据库自动提交的,而在mybatis中,需要我们手动提交事务。也就需要在关闭前面加上一句sqlsession.commit();
不加的话sql语句就没有效果,查询不用加
1.3 修改
接下来讲修改,还是先写一条修改方法,这里不用实体类作为条件
然后看mapper ,注意修改的关键词是update
这里因为我在方法内写了两个字段,所以在#{}内要用下标(arg0)来表示 ,而不是直接将字段名写入,这样子他就会报错,下图为测试类
报错内容:
这个报错就是提示你要用下标而不是直接在#{}写入字段名
1.4 删除
接下来讲删除,依旧写一个删除方法
mapper:
测试类: