mybatis增删改查

  1. 创建实体类
  2. 创建接口
  3. 接口的实例化
  4. 得到session
  5. 用session执行SQL语句,完成相应的功能

得到session的步骤
https://blog.csdn.net/fdk2zhang/article/details/82940950

增删改用户时,需要session.commit();否则能够得到返回值,但是数据库中的数据不会更改

一.增

插入新用户,标签 insert
实现类中代码为:

 //插入新用户
    public int insertstudent(Users users) {
        SqlSession session=su.getsession();
        //映射文件的mapper中的路径去找相应的执行sql语句
        int k=session.insert("com.fdk.dao.UsersDao.insertstudent",users);
        session.commit();
        session.close();
        return k;
    }

insert第一个参数为mapper中的namespace + id,第二个参数users是添加的对象

mapper文件代码:

<insert id="insertstudent" parameterType="com.fdk.been.Users">
        insert into students(studentname,studentsex,studentbirthday,classno)
         values (#{studentname},#{studentsex},#{studentbirthday},#{classno})
    </insert>

parameter为传递过来的参数类型,能直接用#{studentname}的方式得到数据,必须与实体类中的属性名相同

二.删

删除用户,标签 delete
实现类中代码

 //删除用户
    public int deletestudent(int id) {
        SqlSession session=su.getsession();
        int k=session.delete("deletestudent",id);
        session.commit();
        session.close();
        return k;
    }

当在mapper映射路径中,id值唯一,可以省略前缀,直接写id值,第二个参数为要删除用户的id号

mapper文件代码:

<delete id="deletestudent">
        delete from students where studentno=#{id}
    </delete>

三.改

更改用户信息,标签 update
实现类中的代码为:

 //修改用户
    public int updatestudent(Users users){
        SqlSession session=su.getsession();
        System.out.println(users.getStudentno());
        System.out.println(users.getStudentname());

        int k = session.update("com.fdk.dao.UsersDao.updatestudent",users);
        session.commit();
        session.close();
        return k;
    }

mapper文件中的代码为:

<update id="updatestudent" parameterType="com.fdk.been.Users">
        update students set studentname=#{studentname} where studentno=#{studentno}
    </update>

四.查

  1. 查询所有
  2. 聚合查询
  3. 模糊查询

查询所有
实现类中的代码为:

 //查询所有用户
    public List findall() {
        List list=null;
            //得到session
            SqlSession session=su.getsession();

            //方法参数 : namespace +id
            //selectList可以查询一条或多条记录,selectOne: 查询一条记录
            //selectList映射文件中的mapper中的路径去找相应的执行sql语句
            list=session.selectList("findall");
            session.close();



        return list;
    }

mapper文件的代码为:

<!--resultType="返回的结果类型"-->
    <select id="findall" resultType="Users">
        select * from students
    </select>

查询的时候会返结果集,resultType属性决定返回值的类型

对结果集进行输出

//查询所有用户
    public static void main(String[] args) {
        UsersDao dao=new UsersDaoImpl();
        List<Users> list=dao.findall();
        for (Users u : list) {
            System.out.println(u.getStudentno());
        }
    }

输出结果集只需要用 .get()方法即可

聚合查询和模糊查询
https://blog.csdn.net/fdk2zhang/article/details/82944064

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值