博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
MyBatis 对数据库进行CRUD操作
阅读量:5051 次
发布时间:2019-06-12

本文共 5635 字,大约阅读时间需要 18 分钟。

1.update修改

uodate修改也可以使用之前的机制在配置文件中直接编写sql

但是update语句的set字句中是根据传入的值决定的,

此时可以通过Mybatis提供的标签实现判断动态拼接update语句:

update user
name = #{name},
age = #{age},
where id = #{id}

测试类:

// 根据配置文件创建sqlSessionFactory    private SqlSessionFactory factory = null;    @Before    public void before() throws Exception{        //1.读取MyBatis核心配置文件        InputStream in = Resources.getResourceAsStream("sqlMapConfig.xml");        //2.根据配置文件创建sqlSessionFactory        factory = new SqlSessionFactoryBuilder().build(in);    }        /**     * update操作     */    @Test    public void test07(){        User user = new User();        user.setId(3);        user.setName("sss");        user.setAge(12);        // 1.创建sqlSession        SqlSession session = factory.openSession();        // 2.执行操作        session.update("cn.tedu.mybatis.beans.UserMapper.updateOne",user);        // 3.提交事务        session.commit();    }

2.select查询

select查询也可以使用之前的机制在配置文件中直接编写sql

但是select语句的where字句中拼接哪些查询字段是根据传入的值决定的

此时可以通过MyBatis提供的标签实现判断,动态拼接select语句:

测试类:

// 根据配置文件创建sqlSessionFactory    private SqlSessionFactory factory = null;    @Before    public void before() throws Exception{        //1.读取MyBatis核心配置文件        InputStream in = Resources.getResourceAsStream("sqlMapConfig.xml");        //2.根据配置文件创建sqlSessionFactory        factory = new SqlSessionFactoryBuilder().build(in);    }        /**     * select操作     */    @Test    public void test08(){        User user = new User();        user.setId(3);        user.setName("sss");        user.setAge(12);        // 1.创建sqlSession        SqlSession session = factory.openSession();        // 2.执行操作        User userx = session.selectOne("cn.tedu.mybatis.beans.UserMapper.queryMany",user);        // 3.遍历结果        System.out.println(userx);    }    // 根据配置文件创建sqlSessionFactory    private SqlSessionFactory factory = null;    @Before    public void before() throws Exception{        //1.读取MyBatis核心配置文件        InputStream in = Resources.getResourceAsStream("sqlMapConfig.xml");        //2.根据配置文件创建sqlSessionFactory        factory = new SqlSessionFactoryBuilder().build(in);    }        /**     * select操作     */    @Test    public void test08(){        User user = new User();        user.setId(3);        user.setName("sss");        user.setAge(12);        // 1.创建sqlSession        SqlSession session = factory.openSession();        // 2.执行操作        User userx = session.selectOne("cn.tedu.mybatis.beans.UserMapper.queryMany",user);        // 3.遍历结果        System.out.println(userx);    }

3.insert操作

insert插入也可以使用之前的机制在配置文件中直接编写sql

但是insert语句的参数和值的列表拼接哪些字段是根据差u纳入的值决定的

此时可以通过MyBatis提供的标签实现判断,动态拼接insert语句:

insert into user
id,
name,
age,
values
id,
#{name},
#{age},

trim:去掉字符串两端的多余的空格

测试类:

// 根据配置文件创建sqlSessionFactory    private SqlSessionFactory factory = null;    @Before    public void before() throws Exception{        //1.读取MyBatis核心配置文件        InputStream in = Resources.getResourceAsStream("sqlMapConfig.xml");        //2.根据配置文件创建sqlSessionFactory        factory = new SqlSessionFactoryBuilder().build(in);    }        /**     * insert操作     */    @Test    public void test09(){        User user = new User();        user.setName("hhh");        user.setAge(33);        // 1.创建SqlSession        SqlSession session = factory.openSession();        // 2.执行操作        session.insert("cn.tedu.mybatis.beans.UserMapper.insertOne",user);        // 3.提交事务        session.commit();    }

4.delet操作

delete删除也可以使用之前的机制在配置文件中直接编写sql

但是delete语句的删除条件、拼接哪些字段,是根据传入的值决定的

此时可以通过MyBatis提供的标签实现判断,动态拼接delete语句:

delete from user
id = #{id}
and name = #{name}
and age = #{age}
delete from user where id in
#{id}

测试类:

// 根据配置文件创建sqlSessionFactory    private SqlSessionFactory factory = null;    @Before    public void before() throws Exception{        //1.读取MyBatis核心配置文件        InputStream in = Resources.getResourceAsStream("sqlMapConfig.xml");        //2.根据配置文件创建sqlSessionFactory        factory = new SqlSessionFactoryBuilder().build(in);    }        /**     * delete操作     */    @Test    public void test10(){        User user = new User();        user.setId(8);        // user.setName("cjj");        user.setAge(24);        // 1.创建SqlSession        SqlSession session = factory.openSession();        // 2.执行操作        session.insert("cn.tedu.mybatis.beans.UserMapper.deleteOne",user);        // 3.提交事务        session.commit();    }        /**     * delete操作2     */    @Test    public void test11(){        // 0.准备数据        List
list = new ArrayList
(); list.add(3); list.add(6); list.add(10); // 1.创建SqlSession SqlSession session = factory.openSession(); // 2.执行操作 session.insert("cn.tedu.mybatis.beans.UserMapper.deleteOne2",list); // 3.提交事务 session.commit(); }

 

转载于:https://www.cnblogs.com/chuijingjing/p/9858475.html

你可能感兴趣的文章
CSS3---12.过渡动画
查看>>
[NOI1995]石子合并 四边形不等式优化
查看>>
vim 实现begin end 配对 使用matchit插件
查看>>
linux挂载磁盘以及扩容主分区
查看>>
[转]Python模块学习:threading 多线程控制和处理
查看>>
PHP链接sqlserver出现中文乱码
查看>>
[计算机]Alan Perlis人物简介
查看>>
Android-----第三方 ImageLoader 的简单配置和使用
查看>>
零基础入门Python3-详解分支
查看>>
js数组去重
查看>>
A. E-mail
查看>>
C# 反射机制以及方法
查看>>
C# Socket服务端与客户端通信(包含大文件的断点传输)
查看>>
理解SQL SERVER中的逻辑读,预读和物理读
查看>>
输入N,打印如图所看到的的三角形(例:N=3,N=4,N=5)1<=N<=26
查看>>
发展城市 BZOJ 3700
查看>>
Yii Framework处理网站前后台文件的方法
查看>>
jQuery事件委托
查看>>
移动端元素拖拽事件
查看>>
HDOJ:1058
查看>>