namespace中的包名要和 mapper 接口名一致!
选择,查询语句;
1.编写接口
/**
* 调用xml方式
* @param id
* @return
*/
public User selectUserForXml(Integer id);
2.编写对应mapper中的sql语句
<select id="selectUserForXml" resultType="com.dencycheng.entiy.User" parameterType="int">
select * from user where id = #{id}
</select>
3.测试
@Test
public void selectOne() {
SqlSession sqlSession = null;
try {
//获取SqlSession
sqlSession = MybatisUtils.getSqlSession();
//获取mapper
UserMapper mapper = sqlSession.getMapper(UserMapper.class);
//xml第二种方式
User user = mapper.selectUserForXml(2);
System.out.println(user);
} finally {
//关闭sqlSession
sqlSession.close();
}
}
User{id=2, name='黑猫', pwd='212122'}
1.编写接口
/**
* 增加
* @param user
*/
public void save(User user);
2.编写对应mapper中的sql语句
<insert id="save" parameterType="com.dencycheng.entiy.User">
insert user (name,pwd) values (#{name},#{pwd})
</insert>
3.测试
//增删改需要提交事物
@Test
public void save(){
SqlSession sqlSession = null;
try {
//获取SqlSession
sqlSession = MybatisUtils.getSqlSession();
//获取mapper
UserMapper mapper = sqlSession.getMapper(UserMapper.class);
int save = mapper.save(new User("21212121", "1"));
System.out.println("执行行数:"+save);
sqlSession.commit();
} finally {
//关闭sqlSession
sqlSession.close();
}
}
执行行数:1
1.编写接口
/**
* 更新
* @param user
*/
public void update(User user);
2.编写对应mapper中的sql语句
<update id="update" parameterType="com.dencycheng.entiy.User">
update user set name = #{name}, pwd = #{pwd} where id = #{id}
</update>
3.测试
@Test
public void update(){
SqlSession sqlSession = null;
try {
//获取SqlSession
sqlSession = MybatisUtils.getSqlSession();
//获取mapper
UserMapper mapper = sqlSession.getMapper(UserMapper.class);
mapper.update(new User(1,"z","1"));
sqlSession.commit();
} finally {
//关闭sqlSession
sqlSession.close();
}
}
1.编写接口
/**
* 删除
* @param id
*/
public void delete(Integer id);
2.编写对应mapper中的sql语句
<delete id="delete" parameterType="int">
delete from user where id = #{id}
</delete>
3.测试
@Test
public void delete(){
SqlSession sqlSession = null;
try {
//获取SqlSession
sqlSession = MybatisUtils.getSqlSession();
//获取mapper
UserMapper mapper = sqlSession.getMapper(UserMapper.class);
mapper.delete(1);
sqlSession.commit();
} finally {
//关闭sqlSession
sqlSession.close();
}
}
sqlSession.commit();
public static SqlSession getSqlSession(){
return sqlSessionFactory.openSession();
}
SqlSessionFactory
SqlSession openSession(boolean var1);
DefaultSqlSessionFactory
public SqlSession openSession(boolean autoCommit) {
return this.openSessionFromDataSource(this.configuration.getDefaultExecutorType(), (TransactionIsolationLevel)null, autoCommit);
}
public static SqlSession getSqlSession(){
return sqlSessionFactory.openSession(true);
}
<mappers>
<mapper resource="mybatis/UserMapper.xml"/>
</mappers>
扫码关注腾讯云开发者
领取腾讯云代金券
Copyright © 2013 - 2025 Tencent Cloud. All Rights Reserved. 腾讯云 版权所有
深圳市腾讯计算机系统有限公司 ICP备案/许可证号:粤B2-20090059 深公网安备号 44030502008569
腾讯云计算(北京)有限责任公司 京ICP证150476号 | 京ICP备11018762号 | 京公网安备号11010802020287
Copyright © 2013 - 2025 Tencent Cloud.
All Rights Reserved. 腾讯云 版权所有