1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > mybatis delete返回值_从零开始学习在IntelliJ IDEA 中使用mybatis

mybatis delete返回值_从零开始学习在IntelliJ IDEA 中使用mybatis

时间:2018-06-15 17:46:39

相关推荐

mybatis delete返回值_从零开始学习在IntelliJ IDEA 中使用mybatis

纯新手,打算学习下mybatis的用法,在官网和教程上看了资料,整理下笔记。

既然是从零开始,就是不依赖任何框架和模板,从空白项目开始。在IDEA上先新建一个空的java项目。

1. 添加项目依赖

需要依赖两个包, 一个是mybatis,一个是mariadb的驱动包。

mybatis的jar包自己从官网或者maven上下好,然后加入到项目的依赖中去,具体设置如下:

2. 增加配置文件

然后加入一个mybatis的config文件。这个文件主要建立和数据库的联系。 文件内容如下:

<?xml version="1.0" encoding="UTF-8" ?>

上面driver要注意,我的数据是mariadb,所以driver用的 org.mariadb.jdbc.Driver。如果更换数据库的需要设置成对应的driver。

3. 增加mapping文件

<?xml version="1.0" encoding="UTF-8" ?>

4. 代码测试数据库连接

数据库中现有数据如下:

对应的实体类定义如下:(这块儿我偷懒用了lambok注解, 要生效的话需要在 File-> Setting-> Build -> Compiler -> Annotation Processors 面板里选中Enable annotation processing)

@Builder

数据库的查询代码如下:

public

运行后结果如下:

Student(id=1, firstName=zhou, lastName=zhe, age=20, man=false)Student(id=2, firstName=feng, lastName=hao, age=23, man=true)

5. 数据库的增删改查

丰富mapping的操作, 增加对 增删改查的映射。

<?xml version="1.0" encoding="UTF-8" ?><!DOCTYPE mapperPUBLIC "-////DTD Mapper 3.0//EN""/dtd/mybatis-3-mapper.dtd"><mapper namespace="ljw"> <!-- 命名空间,名字可以随意起,只要不冲突即可 --><!-- 对象映射,可以不写 --><!-- 查询功能,resultType 设置返回值类型 --><select id="findAll" resultType="com.ljw.Student"> <!-- 书写 SQL 语句 -->SELECT * FROM Student</select><insert id="insertStu">insert into student(firstName, lastName, age, man)values (#{firstName},#{lastName},#{age},#{man})</insert><update id="updateStu">update studentset firstName = #{firstName}, lastName=#{lastName}, age = #{age}, man = #{man}where id = #{id};</update><delete id="deleteStu">delete from Student where id = #{id}</delete></mapper>

然后在代码中调用就可以了

public class Main {public static void printRet(SqlSession sess) {// 查询List<Student> students = sess.selectList("ljw.findAll");for (Student stu: students) {System.out.println(stu.toString());}}public static void main(String[] args) throws Exception {String resource = "com/ljw/mybatis-cfg.xml";InputStream inputStream = Resources.getResourceAsStream(resource);SqlSessionFactory sqlSessionFactory =new SqlSessionFactoryBuilder().build(inputStream);try(SqlSession sess = sqlSessionFactory.openSession()) {// 查询printRet(sess);// 增加一个学生System.out.println("增加一个学生");Student stu = Student.builder().firstName("huang").lastName("he").age(30).man(true).build();sess.insert("ljw.insertStu", stu);printRet(sess);// 删除一个学生System.out.println("删除一个学生");stu.id = 2;sess.delete("ljw.deleteStu", stu);printRet(sess);// 更新一个学生System.out.println("改一个学生");stu.setFirstName("liu");stu.setId(1);System.out.println(stu.toString());sess.update("ljw.updateStu", stu);printRet(sess);}}}

运行结果如下:

Student(id=1, firstName=zhou, lastName=zhe, age=20, man=false)Student(id=2, firstName=feng, lastName=hao, age=23, man=true)增加一个学生Student(id=1, firstName=zhou, lastName=zhe, age=20, man=false)Student(id=2, firstName=feng, lastName=hao, age=23, man=true)Student(id=12, firstName=huang, lastName=he, age=30, man=true)删除一个学生Student(id=1, firstName=zhou, lastName=zhe, age=20, man=false)Student(id=12, firstName=huang, lastName=he, age=30, man=true)改一个学生Student(id=1, firstName=liu, lastName=he, age=30, man=true)Student(id=1, firstName=liu, lastName=he, age=30, man=true)Student(id=12, firstName=huang, lastName=he, age=30, man=true)

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。