一.select
选择查询语句;
1.id:就是对应的namespace中的方法名
2.resultType:sql语句执行的返回值!
3.parameterType:参数类型!
1.编写接口
//根据ID查询用户
User getUserById(int id);
2.编写对应的mapper中的sql语句
<select id="getUserById" parameterType="int" resultType="com.Rain.Pojo.User">
select * from user where id=#{id}
</select>
3.测试
@Test
public void getUserById(){
//第一步:获得sqlsession对象
SqlSession sqlSession= MybatisUtils.getSqlSession();
UserMapper mapper = sqlSession.getMapper(UserMapper.class);
User userById = mapper.getUserById(1);
System.out.println(userById);
sqlSession.close();
}
4.查询全部
1.编写接口
//查询全部用户
List<User> getUserList();
2.编写对应的mapper中的sql语句
<!--select查询语句-->
<select id="getUserList" resultType="com.Rain.Pojo.User">
select * from user ;
</select>
3.测试
@Test
public void test(){
//第一步:获得sqlsession对象
SqlSession sqlSession= MybatisUtils.getSqlSession();
//方式一:getMapper
UserMapper userDao = sqlSession.getMapper(UserMapper.class);
List<User> userList = userDao.getUserList();
// 方式二:不建议使用
// List<User> objects = sqlSession.selectList("com.Rain.Dao.UserDao.getUserList");
for (User user: userList)
{
System.out.println(user);
}
sqlSession.close();
}
二.insert(增删改需要提交事务)
1.编写接口
//添加一个元素
int addUser(User user);
2.编写对应的mapper中的sql语句
<!--对象中的属性,可以直接获取出来-->
<insert id="addUser" parameterType="com.Rain.Pojo.User">
insert into user (`id`,`name`,`pwd`) values (#{id},#{name},#{pwd});
</insert>
3.测试
//增删改需要提交事务
@Test
public void addUser(){
//第一步:获得sqlsession对象
SqlSession sqlSession= MybatisUtils.getSqlSession();
UserMapper mapper = sqlSession.getMapper(UserMapper.class);
int res= mapper.addUser(new User(4, "萧寒", "123456"));
if (res>0){
System.out.println("插入成功!");
}
//提交事务
sqlSession.commit();
sqlSession.close();
}
三.update
1.编写接口
//updateUser修改用户'
int updateUser(User user);
2.编写对应的mapper中的sql语句
<update id="updateUser" parameterType="com.Rain.Pojo.User">
update user set name=#{name},pwd=#{pwd} where id=#{id};
</update>
3.测试
@Test
public void updateUser(){
//第一步:获得sqlsession对象
SqlSession sqlSession= MybatisUtils.getSqlSession();
UserMapper mapper = sqlSession.getMapper(UserMapper.class);
mapper.updateUser(new User(4, "韩飞", "123654)"));
//提交事务
sqlSession.commit();
sqlSession.close();
}
四.delete
1.编写接口
//deleteUser删除
int deleteUser(int id);
2.编写对应的mapper中的sql语句
<delete id="deleteUser" parameterType="com.Rain.Pojo.User">
delete from user where id=#{id};
</delete>
3.测试
@Test
public void deleteUser(){
//第一步:获得sqlsession对象
SqlSession sqlSession= MybatisUtils.getSqlSession();
UserMapper mapper = sqlSession.getMapper(UserMapper.class);
mapper.deleteUser(2);
sqlSession.commit();
sqlSession.close();
}
mybatis-config配置文件
<?xml version="1.0" encoding="GBK" ?>
<!DOCTYPE configuration
PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-config.dtd">
<configuration>
<environments default="development">
<environment id="development">
<transactionManager type="JDBC"/>
<dataSource type="POOLED">
<!-- 配置连接数据库的4个基本信息 -->
<property name="driver" value="com.mysql.cj.jdbc.Driver"/>
<property name="url" value="jdbc:mysql://localhost:3306/mybatis?useUnicode=true&characterEncoding=utf-8&serverTimezone=GMT&nullCatalogMeansCurrent=true"/>
<property name="username" value="root"/>
<property name="password" value="123456"/>
</dataSource>
</environment>
</environments>
<!-- 每一个Mapper.xml都需要在mybatis核心配置文件中注册-->
<mappers>
<mapper resource="com/Rain/Dao/UserMapper.xml"></mapper>
</mappers>
</configuration>