mybatis のマッパーを使用する方法
MyBatisのマッパーはデータベース操作をマッピングするためのインターフェイスであり、インタフェースを通して簡単にSQL文を呼び出してデータベースの追加・削除・変更・検索操作を行うことができます。
使い方は次のとおりです。
- 私のマッパー
public interface MyMapper {
void insert(MyObject myObject);
void update(MyObject myObject);
void delete(int id);
MyObject select(int id);
}
- MyMapper.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="com.example.MyMapper">
<insert id="insert" parameterType="com.example.MyObject">
INSERT INTO my_table (id, name) VALUES (#{id}, #{name})
</insert>
<update id="update" parameterType="com.example.MyObject">
UPDATE my_table SET name = #{name} WHERE id = #{id}
</update>
<delete id="delete" parameterType="int">
DELETE FROM my_table WHERE id = #{id}
</delete>
<select id="select" parameterType="int" resultType="com.example.MyObject">
SELECT id, name FROM my_table WHERE id = #{id}
</select>
</mapper>
- MyBatis設定ファイルを設置し、マッパーファイルをその中に配置します。
<?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">
<configuration>
<mappers>
<mapper resource="com/example/MyMapper.xml"/>
</mappers>
</configuration>
- JavaコードでMapperインターフェースを用いてデータベース操作を行う。
SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);
SqlSession sqlSession = sqlSessionFactory.openSession();
try {
MyMapper mapper = sqlSession.getMapper(MyMapper.class);
// 插入数据
MyObject myObject = new MyObject();
myObject.setId(1);
myObject.setName("test");
mapper.insert(myObject);
// 更新数据
myObject.setName("test2");
mapper.update(myObject);
// 删除数据
mapper.delete(1);
// 查询数据
MyObject result = mapper.select(1);
System.out.println(result);
} finally {
sqlSession.close();
}
以上はMyBatisでマッパーを使用するための基本的な手順となり、自身のニーズに合わせてインターフェースを定義し、SQLステートメントを作成することが可能です。