目录
1、MyBatis 入门程序——查询用户
实现根据用户名模糊查询用户
查询
sql
:
SELECT * FROM `user` WHERE username LIKE '%
王
%'
方法一
映射文件
在
User.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="test">
<select id="queryUserByUsername1" parameterType="string" resultType="User">
select * from user where username like #{username}
</select>
</mapper>
测试程序
MybatisTest 中添加测试方法如下:
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 org.junit.Before;
import org.junit.Test;
import java.io.InputStream;
import java.util.List;
public class MybatisTest {
private SqlSessionFactory sqlSessionFactory=null;
@Before
public void init() throws Exception{
//1.创建SqlSessionFactoryBuilder对象
SqlSessionFactoryBuilder sqlSessionFactoryBuilder=new SqlSessionFactoryBuilder();
//2.加载mybatis-config配置文件
InputStream inputStream= Resources.getResourceAsStream("mybatis-config.xml");
//3.创建sqlSessionFactory对象
this.sqlSessionFactory=sqlSessionFactoryBuilder.build(inputStream);
}
@Test
public void testQueryUserByUsername1() throws Exception{
SqlSession sqlSession=sqlSessionFactory.openSession();
List<User> list=sqlSession.selectList("test.queryUserByUsername1","%王%");
for(User user:list){
System.out.println(user);
}
sqlSession.close();
}
}
方法二
映射文件:
在
User.xml
配置文件中添加如下内容:
<!-- 如果传入的参数是简单数据类型,${}里面必须写 value -->
<select id="queryUserByUsername2" parameterType="string"
resultType="com.haust.mybatis.pojo.User">
SELECT * FROM `user` WHERE username LIKE '%${value}%'
</select>
测试程序:
MybatisTest
中添加测试方法如下:
@Test
public void testQueryUserByUsername2() throws Exception{
SqlSession sqlSession=sqlSessionFactory.openSession();
List<Object> list=sqlSession.selectList("queryUserByUsername2","王");
for(Object user : list){
System.out.println(user);
}
sqlSession.close();
}
2、MyBatis 入门程序——添加用户
使用的
sql
:
INSERT INTO `user` (username,birthday,sex,address) VALUES
('张飞
','2016-07-26','男','蜀国
')
映射文件:
在
User.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="test">
<insert id="saveUser" parameterType="User">
insert into user(username,birthday,sex,address) values (#{username},#{birthday},#{sex},#{address})
</insert>
</mapper>
测试程序
MybatisTest
中添加测试方法如下:
@Test
public void testSaveUser(){
SqlSession sqlSession=sqlSessionFactory.openSession();
User user=new User();
user.setUsername("张飞");
user.setSex("男");
user.setBirthday(new Date());
user.setAddress("蜀国");
sqlSession.insert("test.saveUser",user);
System.out.println(user);
sqlSession.commit();
sqlSession.close();
}
3、MyBatis 入门程序——更新用户
修改用户
根据用户
id
修改用户名
使用的
sql
:
UPDATE `user` SET username = '
赵云
' WHERE id = 26
映射文件
在
User.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="test">
<update id="updateUserById" parameterType="User">
update user set username=#{username} where id=#{id}
</update>
</mapper>
测试程序
MybatisTest
中添加测试方法如下:
@Test
public void testUpdateUserById(){
SqlSession sqlSession=sqlSessionFactory.openSession();
User user=new User();
user.setId(26);
user.setUsername("赵云");
user.setSex("1");
user.setBirthday(new Date());
user.setAddress("蜀国");
sqlSession.update("test.updateUserById",user);
sqlSession.commit();
sqlSession.close();
}
4、MyBatis 入门程序——删除用户
删除用户
根据用户
id
删除用户
使用的
sql
DELETE FROM `user` WHERE id = 47
映射文件:
在
User.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="test">
<delete id="deleteUserById" parameterType="int">
delete from user where id=#{id}
</delete>
</mapper>
测试程序:
MybatisTest
中添加测试方法如下:
@Test
public void testDeleteUserById(){
SqlSession sqlSession=sqlSessionFactory.openSession();
sqlSession.delete("test.deleteUserById",2);
sqlSession.commit();
sqlSession.close();
}
以上就是基本的用法,希望能够帮助到大家。