Mybatis 需要注意的问题
来源:互联网 发布:淘宝伴侣下载 编辑:程序博客网 时间:2024/06/03 11:08
mybatis:Invalid bound statement (not found)
当出现mybatis 出现这个错误时需要注意
使用了接口编程方式
实体类User
配置文件UserMapper.xml
接口文件UserMapper.java
public interface UserMapper {
public User selectUserById(int id);
}
注意在配置文件中
<mapper namespace="db.UserMapper">
<select id="selectUserById" parameterType="int" resultType="entity.User">
select * from user where id = #{id}
</select>
</mapper>
namespace 要与接口文件UserMapper.java保持一致
select元素中的id要与 UserMapper.java中的方法名保持一致
mybatis 增删改查
UserMapper.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="db.UserMapper">
<resultMap type="entity.User" id="resultListUser">
<id column="id" property="id"/>
<result column="userName" property="userName"/>
<result column="userAge" property="userAge"/>
<result column="userAddress" property="userAddress"/>
</resultMap>
<select id="selectUserById" parameterType="int" resultType="entity.User">
select id,userName,userAge,userAddress from user where id=#{id}
</select>
<select id="selectUsers" parameterType="string" resultMap="resultListUser">
select * from user where userName like #{userName}
</select>
<!-- useGeneratedKeys 设置为true表明要mybatis获取有数据库自动生成的主键,
keyProperty="id"指定把获取的主键注入到User的id属性
-->
<insert id="addUser" parameterType="entity.User" useGeneratedKeys="true" keyProperty="id">
insert into user(userName,userAge,userAddress) values(#{userName},#{userAge},#{userAddress})
</insert>
<update id="updateUser" parameterType="entity.User">
update user set userName=#{userName},userAge=#{userAge},userAddress=#{userAddress} where id=#{id}
</update>
<delete id="deleteUser" parameterType="int">
delete from user where id=#{id}
</delete>
</mapper>
UserMapper.java
package db;
import java.util.List;
import entity.User;
public interface UserMapper {
public User selectUserById(int id);
public List<User> selectUsers(String userName);
public void addUser(User user);
public void updateUser(User user);
public void deleteUser(int id);
}
增删改查类
public class TestAddupdatedelete{
public void findlist(){
SqlSession session= SqlSessionHelper.getSessionFactory().openSession();
try{
UserMapper userMapper = session.getMapper(UserMapper.class);
List<User> users = userMapper.selectUsers("%");
for(User user:users){
System.out.println(user.getUserAddress()+" "+user.getUserName());
}
}finally{
session.clearCache();
session.close();
}
}
public void addUser(User user){
if(user ==null){
user = new User();
user.setUserAddress("武林广场");
user.setUserAge("80");
user.setUserName("青鸟");
}
SqlSession session = SqlSessionHelper.getSessionFactory().openSession();
UserMapper userMapper = session.getMapper(UserMapper.class);
userMapper.addUser(user);
session.commit();
System.out.println("当前增加的用户id为"+user.getId());
try{
}finally{
if(session != null)
session.close();
}
}
public void update(){
SqlSession session = SqlSessionHelper.getSessionFactory().openSession();
UserMapper userMapper = session.getMapper(UserMapper.class);
try{
User user = userMapper.selectUserById(4);
user.setUserAddress("上海市青浦区");
userMapper.updateUser(user);
session.commit();
}finally{
session.close();
}
}
public void delete(){
SqlSession session = SqlSessionHelper.getSessionFactory().openSession();
UserMapper userMapper = session.getMapper(UserMapper.class);
try{
userMapper.deleteUser(4);
session.commit();
}finally{
session.close();
}
}
}
- Mybatis 需要注意的问题
- 在IDEA中编写mybatis,需要注意的问题
- mybatis二级缓存联表查询需要注意的问题
- Mybatis配置文件需要注意的
- 需要注意的问题
- 需要注意的问题
- mybatis需要注意的小细节
- 需要注意的小问题
- 使用需要注意的问题
- toArray()需要注意的问题
- 上班需要注意的问题
- 创业需要注意的问题
- wordpress需要注意的问题
- String: 需要注意的问题
- 权限需要注意的问题
- javascript需要注意的问题
- 面试需要注意的问题
- dmvpn需要注意的问题
- Android 文件操作工具类
- Android中SQLite的基本使用方法
- EditText
- runtime交换函数method_exchangeImplementations
- Android --学习笔记记录
- Mybatis 需要注意的问题
- APP转盘抽奖Java服务端接口
- 训练集(train set) 验证集(validation set) 测试集(test set)
- jQuery获取多个checkbox的值
- MAVEN学习(3)------MAVEN的坐标及依赖
- Android Studio修改注释模版
- LINUX C中sigprocmask()函数用法
- HFun.快速开发平台(三)=》通用系统用户选择
- Gunicorn快速入门