接上一篇随笔。这里没有用到MyBatis最关键的映射器接口,因此只做个简单的insert操作,update和delete同理,就不再赘述了。
直接上代码:
首先是dao包下的UserDAO.java文件:
package com.alleymeowy.dao; import com.alleymeowy.bean.User;
import com.alleymeowy.util.DBUtil;
import org.apache.ibatis.session.SqlSession; import java.io.IOException;
import java.util.List; public class UserDAO { /**
* 根据id查询一条记录
* @param id
* @throws IOException
*/
public static User selectOne(int id) throws IOException { SqlSession sqlSession = null;
User user;
try {
sqlSession = DBUtil.getSqlSession();
user = sqlSession.selectOne("com.alleymeowy.config.sql.Users.selectOne", id);
} finally {
sqlSession.close();
}
return user; } /**
* 查询多条记录
* @throws IOException
*/
public static List<User> selectAll() throws IOException { SqlSession sqlSession = null;
List<User> users;
try {
sqlSession = DBUtil.getSqlSession();
users = sqlSession.selectList("com.alleymeowy.config.sql.Users.selectAll");
} finally {
sqlSession.close();
}
return users; } public static void insert(User user) throws IOException { SqlSession sqlSession = null;
try { sqlSession = DBUtil.getSqlSession();
int affectrows = sqlSession.insert("com.alleymeowy.config.sql.Users.insertUser", user);
System.out.println("affectrows : " + affectrows);
sqlSession.commit(); } finally {
if (sqlSession != null) {
sqlSession.close();
}
}
} public static void main(String[] args) throws IOException { // System.out.println(selectOne(1));
// System.out.println("************");
// System.out.println(selectAll()); insert(new User(6, "insertPerson", 100)); }
}
这里添加了一个insert方法。
然后是Users.xml文件,这里存放sql语句。
<?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.alleymeowy.config.sql.Users"> <select id="selectOne" parameterType="int" resultType="com.alleymeowy.bean.User">
select id, name, age from user where id = #{id}
</select> <select id="selectAll" resultType="com.alleymeowy.bean.User">
select id, name, age from user
</select> <insert id="insertUser" parameterType="com.alleymeowy.bean.User">
insert into user(id, name, age) values(#{id}, #{name}, #{age})
</insert> </mapper>
同样也是增加了一条insert语句【很简单吧】。
其他代码如总配置文件,DBUtil工具类等都不需要改动了,这里贴出最后的输出结果:
affectrows为1,改变了数据库中的1行。
完毕。