MyBatis的CRUD

来源:互联网 发布:知柏地黄丸治口臭吗 编辑:程序博客网 时间:2024/05/16 06:27
  • 所谓的Mybatis的增删改查就是在实体类的映射文件中配置相应的语句,如下所示
<?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="userMapper"><!-- id 即唯一标示符 parameterType 即形参类型 resultType 即返回值类型  --><select id="getUser" parameterType="int" resultType="entity.User">select * from users where id=#{id}</select><insert id="insertUser" parameterType="entity.User">insert into users(name, age) values(#{name}, #{age})</insert><delete id="deleteUser" parameterType="int">delete from users where id=#{id}</delete><update id="updateUser" parameterType="entity.User">update users set name=#{name},age=#{age} where id=#{id}</update><select id="selectUser" parameterType="int"resultType="entity.User">select * from users where id=#{id}</select><select id="selectAllUsers" resultType="entity.User">select * from users</select></mapper>
  • 注解的实现
  1. 定义SQL映射的接口
package myInterface;import java.util.List;import org.apache.ibatis.annotations.Delete;import org.apache.ibatis.annotations.Insert;import org.apache.ibatis.annotations.Select;import org.apache.ibatis.annotations.Update;import entitiy.User;public interface UserMapper {@Insert("insert into users(name, age) values(#{name}, #{age})")public int insertUser(User user);@Delete("delete from users where id=#{id}")public int deleteUserById(int id);@Update("update users set name=#{name},age=#{age} where id=#{id}")public int updateUser(User user);@Select("select * from users where id=#{id}")public User getUserById(int id);@Select("select * from users")public List<User> getAllUser();}


     2.在配置文件中映射这个接口(Mybatis专有的配置文件)

     3.在业务中调用(比xml中多了一句代码,如下加*显示)

package dao;import java.io.IOException;import java.io.Reader;import myInterface.UserMapper;import org.apache.ibatis.io.Resources;import org.apache.ibatis.session.SqlSession;import org.apache.ibatis.session.SqlSessionFactory;import org.apache.ibatis.session.SqlSessionFactoryBuilder;import entitiy.User;public class UserDao {public User getUserById(int id) throws IOException {String resource = "conf.xml"; //加载mybatis的配置文件(它也加载关联的映射文件)Reader reader = Resources.getResourceAsReader(resource); //构建sqlSession的工厂SqlSessionFactory sessionFactory = new SqlSessionFactoryBuilder().build(reader);SqlSession session = sessionFactory.openSession();*UserMapper mapper = session.getMapper(UserMapper.class);</strong>User user = mapper.getUserById(id);return user;}}



0 0
原创粉丝点击