标签:https 需要 事务 click ima doc 链接 最大 cli
Select
选择,查询语句
id:就是对应的namespace中的方法名;
resultType:Sql语句执行的返回值;
parameterType:参数类型
我们想使用查询语句首先要在UserMapper.java定义新的抽象方法
Such as
之后,我们在UserMapper.xml里面写我们的sql语句
<!--注意id是新的抽象方法--> <select id="getUserById" resultType="com.zou.pojo.User"> select * from mybatis."user" where id = #{id}; </select>
两文件的关系
Ok,接下来我们写测试类吧
public class test { //查询所有用户和密码 @Test public void getUserById(){ //通过MybatisUtils工具类获得sqlSession对象,这句话是写死的 SqlSession sqlSession = MybatisUtils.getSqlSession(); //我们需要做的就是写中间这段代码 //获取接口 UserMapper mapper = sqlSession.getMapper(UserMapper.class); //我们查一下一号用户 User user = mapper.getUserById(1); System.out.println(user); //关闭sqlSession,这句话是写死的 sqlSession.close(); } }
基本就是以上这些步骤
上面执行了查询语句,接下来我们编写增删改的代码
我们费那么大力气搭建Mybatis项目,就是为了之后的方便,以后只用修改几个地方
注意:增删改和查询的最大区别是必须用sqlSession提交业务,否则无法成功!
需要在UserMapper接口类中定义新的抽象方,不用删掉之前的方法,我们后边测试的时候只调用需要的方法即可
public interface UserMapper { //查询全部用户 List<User> getUserList(); //根据ID查询用户 User getUserById(int id); //增加一个用户 int addUser(User user); //修改用户 int updateUser(User user); //删除用户 int deleteUser(int id); }
<?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> <!--namespace=绑定一个对应的Dao/Mapper接口--> <mapper namespace="com.zou.dao.UserMapper"> <!--查询语句--> <select id="getUserList" resultType="com.zou.pojo.User"> select * from mybatis.user; </select> <!--根据ID查询用户名和密码--> <select id="getUserById" parameterType="int" resultType="com.zou.pojo.User"> select * from mybatis.user where id = #{id}; </select> <!--增加一个用户--> <insert id="addUser" parameterType="com.zou.pojo.User"> insert into mybatis.user(id, name, pwd) value (#{id},#{name},#{pwd}); </insert> <!--修改一个用户--> <update id="updateUser" parameterType="com.zou.pojo.User"> update mybatis.user set name=#{name},pwd=#{pwd} where id= #{id}; </update> <!--删除一个用户--> <delete id="deleteUser" parameterType="int"> delete from mybatis.user where id = #{id}; </delete>
public class UserMapperTest { //查询所有用户和密码 @Test public void test(){ //第一步:获得sqlSession对象 SqlSession sqlSession = MybatisUtils.getSqlSession(); //方式一:getMapper UserMapper mapper = sqlSession.getMapper(UserMapper.class); List<User> userList = mapper.getUserList(); for (User user : userList) { System.out.println(user); } //关闭sqlSession sqlSession.close(); } //根据ID查询用户和密码 @Test public void getUserById(){ SqlSession sqlSession = MybatisUtils.getSqlSession(); UserMapper mapper = sqlSession.getMapper(UserMapper.class); User user = mapper.getUserById(1); System.out.println(user); sqlSession.close(); } //增删改需要提交事务 //增加一个用户 @Test public void addUser(){ SqlSession sqlSession = MybatisUtils.getSqlSession(); UserMapper mapper = sqlSession.getMapper(UserMapper.class); mapper.addUser(new User(4, "王五", "123456")); //提交事务 sqlSession.commit(); sqlSession.close(); } //修改一个用户 @Test public void updateUser(){ SqlSession sqlSession = MybatisUtils.getSqlSession(); UserMapper mapper = sqlSession.getMapper(UserMapper.class); mapper.updateUser(new User(4,"田七","123123")); sqlSession.commit(); sqlSession.close(); } //删除一个用户 @Test public void deleteUser(){ SqlSession sqlSession = MybatisUtils.getSqlSession(); UserMapper mapper = sqlSession.getMapper(UserMapper.class); mapper.deleteUser(4); sqlSession.commit(); sqlSession.close(); } }
版权声明:以上大部分为CSDN博主「饿死在深夜」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/weixin_44986648/article/details/103143992
依旧是喜欢大力的一天
标签:https 需要 事务 click ima doc 链接 最大 cli
原文地址:https://www.cnblogs.com/tuyaojiao/p/12341083.html