mybatis-简单的增删改查操作

    xiaoxiao2026-02-04  0

    mybatis是apache下一个开源项目,原称为ibatis,后改名为mybatis。 是一个基于Java的持久层框架。(类似与hibetnate)。

    MyBatis 是支持普通 SQL查询,存储过程和高级映射的优秀持久层框架。MyBatis 消除了几乎所有的JDBC代码和参数的手工设置以及结果集的检索。MyBatis 使用简单的 XML或注解用于配置和原始映射,将接口和 Java 的POJOs(Plain Old Java Objects,普通的 Java对象)映射成数据库中的记录。

    **重点内容**mybatis入门案例-增删改查操作

    1 案例结构图(使用intellij idea开发)

    2.conf.xml文件配置(主要是基本信息的配置以及关联usermapper.xml)

    <?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN" "http://mybatis.org/dtd/mybatis-3-config.dtd"> <!--development : 开发模式 work : 工作模式--> <environments default="development"> <environment id="development"> <transactionManager type="JDBC"/> <!--连接池的配置信息--> <dataSource type="POOLED"> <property name="driver" value="com.mysql.jdbc.Driver"/> <property name="url" value="jdbc:mysql://localhost:3306/mybatis"/> <property name="username" value="root"/> <property name="password" value="root"/> </dataSource> </environment> </environments> <!--注册配置操作文件--> <mappers> <mapper resource="com/engle/vo/userMapper.xml"/> </mappers> </configuration>

    2.usermapper.xml配置(主要是关系的映射)

    <?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"> <!--配置文件设置唯一的工作空间名 建议使用包名+文件名--> <mapper namespace="mybatisIDUS"> <!--查询某一条信息--> <select id="getUser" parameterType="int" resultType="com.engle.vo.User"> select * from users where id=#{id} </select> <!--插入一条记录--> <insert id="insertUser" parameterType="com.engle.vo.User"> insert into users(name,age) values(#{name},#{age}) </insert> <!--更新一条记录--> <update id="updateUser" parameterType="com.engle.vo.User"> update users set name=#{name},age=#{age} where id=#{id} </update> <!--删除一条记录--> <delete id="deleteUser" parameterType="int"> delete from users where id=#{id} </delete> </mapper>

    4.实体类配置(一定要添加空的构造方法)

    public class User { private int id; private String name; private int age; public User() { } public User(String name, int age) { this.name = name; this.age = age; } public User(int id, String name, int age) { this.id = id; this.name = name; this.age = age; } //省略get和set方法

    5.配置测试类(本案例使用junit测试 )

    public class JunitTest { /** * 封装session */ public static SqlSession getSession(){ String resource = "conf.xml"; InputStream is = JunitTest.class.getClassLoader().getResourceAsStream(resource); SqlSessionFactory factory = new SqlSessionFactoryBuilder().build(is); // SqlSession session = factory.openSession(true) 自动提交更新 SqlSession session = factory.openSession(); //默认为手动提交更新 return session; } /** * 封装statement */ public static String getStatement(String statement){ return "mybatisIDUS."+statement; } /** * 插入一条数据 */ @Test public void insert(){ String statement = "mybatisIDUS.insertUser"; SqlSession session = getSession(); int result = session.insert(statement, new User("wangwu", 19)); if (result==1){ session.commit(); session.close(); System.out.println("插入成功"); } } /** * 通过id查询单个数据 */ @Test public void select(){ String statement = "mybatisIDUS.getUser"; SqlSession session = getSession(); User user = session.selectOne(statement, 1); System.out.println(user); session.close(); } /** * 更新数据 */ @Test public void update(){ SqlSession session = getSession(); String statement = getStatement("updateUser"); int result = session.update(statement, new User(10, "wangwu", 44)); if (result==1){ session.commit(); session.close(); System.out.println("更新成功"); } } /** * 通过id删除一条 */ @Test public void delete(){ SqlSession session = getSession(); String statement = getStatement("deleteUser"); int result = session.delete(statement, 1); if (result==1){ session.commit(); session.close(); System.out.println("删除成功"); } } }

    通过次案例我们已经粗略的了解了一些关于mybatis的简单操作, 其实和我们所学的hibernate框架有很多的共同点。


    具体的源代码可在如下网址获取: https://github.com/engle025/mybatis_3_study.git

    相关资源:mybatis-plus案例 方法 一系列配置 增删改查
    最新回复(0)