mybatis单表查询
时间: 2023-11-07 13:59:03 浏览: 40
MyBatis是一款优秀的ORM框架,它可以让我们通过简单的配置文件和SQL语句,完成Java对象和数据库表之间的映射关系。下面是使用MyBatis进行单表查询的步骤:
1.定义数据实体类
定义一个Java对象,用于封装数据库表中的数据。这个Java对象的字段名和类型需要和数据库表中的字段名和类型对应。
2.编写SQL语句
使用MyBatis提供的SQL语句,查询数据库表中的数据。可以使用XML文件或注解的方式来编写SQL语句。
3.配置MyBatis
在MyBatis的配置文件中,配置数据源、事务管理器和SQL语句映射等信息。
4.调用MyBatis接口
在Java代码中,调用MyBatis接口,执行SQL语句,获取数据结果。
以下是一个基本的MyBatis查询单表的示例:
1.实体类:
```java
public class User {
private Integer id;
private String name;
private Integer age;
// getter/setter
}
```
2.SQL语句映射文件:
```xml
<!-- UserMapper.xml -->
<mapper namespace="com.example.mapper.UserMapper">
<!-- 查询所有用户 -->
<select id="findAllUsers" resultType="com.example.entity.User">
SELECT id, name, age FROM user;
</select>
<!-- 根据id查询用户 -->
<select id="findUserById" resultType="com.example.entity.User">
SELECT id, name, age FROM user WHERE id = #{id};
</select>
<!-- 添加用户 -->
<insert id="addUser" parameterType="com.example.entity.User">
INSERT INTO user(name, age) VALUES(#{name}, #{age});
</insert>
<!-- 修改用户 -->
<update id="updateUser" parameterType="com.example.entity.User">
UPDATE user SET name=#{name}, age=#{age} WHERE id=#{id};
</update>
<!-- 删除用户 -->
<delete id="deleteUser" parameterType="int">
DELETE FROM user WHERE id=#{id};
</delete>
</mapper>
```
3.调用MyBatis接口
```java
// UserMapper.java
public interface UserMapper {
List<User> findAllUsers();
User findUserById(int id);
void addUser(User user);
void updateUser(User user);
void deleteUser(int id);
}
```
```java
// UserDao.java
public class UserDao {
private SqlSessionFactory sqlSessionFactory;
public UserDao(SqlSessionFactory sqlSessionFactory) {
this.sqlSessionFactory = sqlSessionFactory;
}
public List<User> findAllUsers() {
try (SqlSession sqlSession = sqlSessionFactory.openSession()) {
UserMapper userMapper = sqlSession.getMapper(UserMapper.class);
return userMapper.findAllUsers();
}
}
public User findUserById(int id) {
try (SqlSession sqlSession = sqlSessionFactory.openSession()) {
UserMapper userMapper = sqlSession.getMapper(UserMapper.class);
return userMapper.findUserById(id);
}
}
public void addUser(User user) {
try (SqlSession sqlSession = sqlSessionFactory.openSession()) {
UserMapper userMapper = sqlSession.getMapper(UserMapper.class);
userMapper.addUser(user);
sqlSession.commit();
}
}
public void updateUser(User user) {
try (SqlSession sqlSession = sqlSessionFactory.openSession()) {
UserMapper userMapper = sqlSession.getMapper(UserMapper.class);
userMapper.updateUser(user);
sqlSession.commit();
}
}
public void deleteUser(int id) {
try (SqlSession sqlSession = sqlSessionFactory.openSession()) {
UserMapper userMapper = sqlSession.getMapper(UserMapper.class);
userMapper.deleteUser(id);
sqlSession.commit();
}
}
}
```
以上就是使用MyBatis进行单表查询的基本步骤。