- 所谓的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>
- 注解的实现
- 定义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;
}
}