<?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.hb.bean.userDao">
<!-- 这里namespace必须是“包名 + xml文件名”,不然要运行的时候要报错 “is not known to the MapperRegistry” -->
<insert id="insertUser" parameterType="com.hb.bean.User">
insert into user(name, age) values(#{name}, #{age});
</insert>
<delete id="deleteUser" parameterType="int">
delete from user where id=#{id}
</delete>
<update id="updateUser" parameterType="com.hb.bean.User">
update user set name=#{name},age=#{age} where id=#{id}
</update>
<select id="selectUser" parameterType="int"
resultType="com.hb.bean.User">
select * from user where id=#{id}
</select>
<select id="selectAlluser" resultType="com.hb.bean.User">
select * from user
</select>
</mapper>
package com.hb.test1;
import java.io.InputStream;
import org.apache.ibatis.session.SqlSession;
import org.apache.ibatis.session.SqlSessionFactory;
import org.apache.ibatis.session.SqlSessionFactoryBuilder;
import org.junit.Before;
import org.junit.Test;
import com.hb.bean.User;
public class Test1 {
public static SqlSessionFactory sqlSessionFactory;
public static SqlSession sqlSession;
@Before
public void init(){
//"/"表示是在src根目录下
String source = "config.xml";
InputStream inputStream = Test1.class.getClassLoader().getResourceAsStream(source);
try {
sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);
//sqlSession = sqlSessionFactory.openSession();
//是否自动提交,默认不是自动提交的
sqlSession = sqlSessionFactory.openSession(true);
} catch (Exception e) {
e.printStackTrace();
}
}
@Test
public void add(){
String statment = "com.hb.bean.userDao.insertUser";
User user = new User();
user.setId(4);
user.setAge(100);
user.setName("father");
sqlSession.insert(statment, user);
//添加数据需要commit,默认是不commit
sqlSession.commit();
//关闭session
sqlSession.close();
}
@Test
public void selectById(){
String statment = "com.hb.bean.userDao.selectUser";
User user = sqlSession.selectOne(statment, "1");
System.out.println(user);
}
@Test
public void update(){
String statment = "com.hb.bean.userDao.updateUser";
User user = new User();
user.setId(1);;
user.setAge(100);
user.setName("mather");
sqlSession.update(statment, user);
System.out.println(user);
}
@Test
public void delete(){
String statment = "com.hb.bean.userDao.deleteUser";
sqlSession.delete(statment, 6);
//添加数据需要commit,默认是不commit
sqlSession.commit();
//关闭session
sqlSession.close();
}
}
二、访问接口操作数据库
package com.hb.mapper;
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 com.hb.bean.User;
public interface UserMapper {
@Insert("insert into user(name, age) values(#{name}, #{age})")
public int insertUser(User user);
@Delete("delete from user where id=#{id}")
public int deleteUserById(int id);
@Update("update user set name=#{name},age=#{age} where id=#{id}")
public int updateUser(User user);
@Select("select * from user where id=#{id}")
public User getUserById(int id);
@Select("select * from user")
public List<User> getAllUser();
}
package com.hb.test1;
import java.io.InputStream;
import org.apache.ibatis.session.SqlSession;
import org.apache.ibatis.session.SqlSessionFactory;
import org.apache.ibatis.session.SqlSessionFactoryBuilder;
import org.junit.Before;
import org.junit.Test;
import com.hb.bean.User;
public class AnnotationTest1 {
public static SqlSessionFactory sqlSessionFactory;
public static SqlSession sqlSession;
@Before
public void init(){
//"/"表示是在src根目录下
String source = "config.xml";
InputStream inputStream = AnnotationTest1.class.getClassLoader().getResourceAsStream(source);
try {
sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);
//sqlSession = sqlSessionFactory.openSession();
//是否自动提交,默认不是自动提交的
sqlSession = sqlSessionFactory.openSession(true);
} catch (Exception e) {
e.printStackTrace();
}
}
@Test
public void add(){
String statment = "com.hb.mapper.UserMapper.insertUser";
User user = new User();
user.setId(4);
user.setAge(100);
user.setName("father");
sqlSession.insert(statment, user);
//添加数据需要commit,默认是不commit
sqlSession.commit();
//关闭session
sqlSession.close();
}
@Test
public void selectById(){
String statment = "com.hb.mapper.UserMapper.selectUser";
User user = sqlSession.selectOne(statment, "1");
System.out.println(user);
}
@Test
public void update(){
String statment = "com.hb.mapper.UserMapper.updateUser";
User user = new User();
user.setId(1);;
user.setAge(100);
user.setName("mather");
sqlSession.update(statment, user);
System.out.println(user);
}
@Test
public void delete(){
String statment = "com.hb.mapper.UserMapper.deleteUser";
sqlSession.delete(statment, 6);
//添加数据需要commit,默认是不commit
sqlSession.commit();
//关闭session
sqlSession.close();
}
}