下面是一个使用mybatis实现增删改查功能的示例程序:
1.创建一个数据库
首先需要创建一个名为test_db的数据库,里面包含一个名为user_info的表,其中包含id、name、age三个字段。
2.配置mybatis
在项目的pom.xml文件中添加mybatis和mysql依赖:
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis</artifactId>
<version>3.5.0</version>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>8.0.23</version>
</dependency>
在项目的resources目录下创建一个mybatis-config.xml文件,配置mybatis的环境和数据库连接信息:
<configuration>
<environments default="development">
<environment id="development">
<transactionManager type="JDBC"/>
<dataSource type="POOLED">
<property name="driver" value="com.mysql.cj.jdbc.Driver"/>
<property name="url" value="jdbc:mysql://localhost:3306/test_db?useUnicode=true&characterEncoding=utf-8&serverTimezone=GMT"/>
<property name="username" value="root"/>
<property name="password" value="root"/>
</dataSource>
</environment>
</environments>
<mappers>
<mapper resource="mapper/UserMapper.xml"/>
</mappers>
</configuration>
其中,配置文件中的mapper/UserMapper.xml文件可以在下文中看到。
3.创建Java实体类
创建一个名为User的Java实体类,包含id、name、age三个属性,并添加getter和setter方法。
public class User {
private int id;
private String name;
private int age;
// getter和setter方法
……
}
4.创建DAO接口
创建一个名为UserMapper的DAO接口,其中包含增删改查四个方法:
public interface UserMapper {
// 添加用户
public int addUser(User user);
// 删除用户
public int deleteUser(int id);
// 修改用户信息
public int updateUser(User user);
// 查询用户信息
public User getUser(int id);
}
5.编写mapper/UserMapper.xml文件
在resources/mapper目录下创建一个UserMapper.xml文件,该文件中实现UserMapper接口中所有方法的具体操作。
<mapper namespace="com.example.mapper.UserMapper">
<!-- 添加用户操作 -->
<insert id="addUser" parameterType="com.example.entity.User" useGeneratedKeys="true" keyProperty="id">
insert into user_info(name, age) values(#{name}, #{age})
</insert>
<!-- 删除用户操作 -->
<delete id="deleteUser" parameterType="int">
delete from user_info where id=#{id}
</delete>
<!-- 修改用户操作 -->
<update id="updateUser" parameterType="com.example.entity.User">
update user_info set name=#{name}, age=#{age} where id=#{id}
</update>
<!-- 查询用户操作 -->
<select id="getUser" parameterType="int" resultType="com.example.entity.User">
select id, name, age from user_info where id=#{id}
</select>
</mapper>
6.测试
在main函数中使用Mybatis的sqlSession创建UserMapper实例,从而进行增删改查操作:
public static void main(String[] args) {
// 加载Mybatis的配置文件
String resource = "mybatis-config.xml";
InputStream inputStream = null;
try {
inputStream = Resources.getResourceAsStream(resource);
} catch (IOException e) {
e.printStackTrace();
}
// 创建SqlSessionFactory
SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);
// 创建SqlSession
SqlSession sqlSession = sqlSessionFactory.openSession();
// 通过SqlSession创建UserMapper接口的代理对象
UserMapper userMapper = sqlSession.getMapper(UserMapper.class);
// 添加用户
User user = new User();
user.setName("Tom");
user.setAge(25);
int rows = userMapper.addUser(user);
sqlSession.commit();
// 查询用户
User getUser = userMapper.getUser(user.getId());
// 修改用户
getUser.setName("Jerry");
rows = userMapper.updateUser(getUser);
sqlSession.commit();
// 删除用户
rows = userMapper.deleteUser(getUser.getId());
sqlSession.commit();
// 关闭SqlSession
sqlSession.close();
}
以上就是使用mybatis实现crud功能的程序。