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>
<settings>
<setting name="logImpl" value="STDOUT_LOGGING"/>
</settings>
<environments default="development">
<environment id="development">
<transactionManager type="JDBC"/>
<dataSource type="POOLED">
<property name="driver" value="com.mysql.cj.jdbc.Driver"/>
<property name="url" value="jdbc:mysql://localhost:3306/mybatis"/>
<property name="username" value="root"/>
<property name="password" value="1234"/>
</dataSource>
</environment>
</environments>
<mappers>
<package name="com.itheima.mapper"/>
</mappers>
</configuration>
Mapper
public interface UserMapper {
@Insert("insert into user values (null,#{name},#{age},#{gender},#{phone})")
void save(User user);
@Options(useGeneratedKeys = true, keyProperty = "id")
@Insert("insert into user values (null,#{name},#{age},#{gender},#{phone})")
void save2(User user);
@Update("update user set name = #{name},age=#{age},gender=#{gender},phone = #{phone} where id=#{id} ")
void update(User user);
@Delete("delete from user where id = #{id}")
void delete(Integer id);
@Delete("delete from user where name = #{name}")
void deleteByName1(String name);
@Delete("delete from user where name = ${name}")
void deleteByName2(String name);
}
测试类
public class UserMapperTest {
@Test
public void testSave() throws IOException {
// 1. 创建对象
User user = new User()
user.setName("张三")
user.setAge(18)
user.setGender(1)
user.setPhone("15515847153")
// 工具类获取sqlSession
SqlSession sqlSession = MyBatisUtil.getSqlSession()
// 获取UserMapper对象,调用方法
UserMapper userMapper = sqlSession.getMapper(UserMapper.class)
userMapper.save(user)
// 工具类关闭sqlSession
MyBatisUtil.close(sqlSession)
}
@Test
public void testDeleteByName1() {
SqlSession sqlSession = MyBatisUtil.getSqlSession()
UserMapper userMapper = sqlSession.getMapper(UserMapper.class)
userMapper.deleteByName1("张三")
// delete from user where name = '张三'
MyBatisUtil.close(sqlSession)
}
@Test
public void testDeleteByName2() {
SqlSession sqlSession = MyBatisUtil.getSqlSession()
// 用户名叫作:'李四' or id>1
UserMapper userMapper = sqlSession.getMapper(UserMapper.class)
userMapper.deleteByName2(" '李四' or id>1")
// delete from user where name = '李四' or id>1
MyBatisUtil.close(sqlSession)
}
}