mybatis入门程序
时间: 2023-11-26 15:55:24 浏览: 72
第一个mybatis程序 mybatis入门
MyBatis是一种基于Java的持久层框架,它可以将SQL语句和Java代码进行分离,使Java程序员可以使用简单的配置文件来映射Java对象和SQL语句。下面是一个简单的MyBatis入门程序:
1. 首先,下载并安装MyBatis(下载地址:https://mybatis.org/mybatis-3/zh/getting-started.html)。
2. 在项目中添加MyBatis的依赖。如果使用Maven,可以在pom.xml文件中添加以下依赖:
```
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis</artifactId>
<version>3.5.6</version>
</dependency>
```
3. 创建一个Java类作为数据模型,例如:
```
public class User {
private int id;
private String name;
private String email;
// getter和setter方法
}
```
4. 创建一个Mapper XML文件,用于定义SQL语句和映射Java对象:
```
<?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="UserMapper">
<select id="findById" resultType="User">
SELECT * FROM users WHERE id = #{id}
</select>
<insert id="insert" parameterType="User">
INSERT INTO users (name, email) VALUES (#{name}, #{email})
</insert>
</mapper>
```
5. 创建一个MyBatis配置文件,用于配置数据源和其他参数:
```
<?xml version="1.0" encoding="UTF-8" ?>
<!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">
<property name="driver" value="com.mysql.jdbc.Driver"/>
<property name="url" value="jdbc:mysql://localhost/test"/>
<property name="username" value="root"/>
<property name="password" value=""/>
</dataSource>
</environment>
</environments>
<mappers>
<mapper resource="UserMapper.xml"/>
</mappers>
</configuration>
```
6. 创建一个接口,用于定义SQL语句的执行方法:
```
public interface UserMapper {
User findById(int id);
void insert(User user);
}
```
7. 创建一个MyBatis会话工厂,用于创建会话对象:
```
InputStream inputStream = Resources.getResourceAsStream("mybatis-config.xml");
SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);
```
8. 创建一个MyBatis会话,用于执行SQL语句:
```
try (SqlSession session = sqlSessionFactory.openSession()) {
UserMapper userMapper = session.getMapper(UserMapper.class);
User user = userMapper.findById(1);
System.out.println(user.getName());
User newUser = new User();
newUser.setName("Tom");
newUser.setEmail("tom@example.com");
userMapper.insert(newUser);
session.commit();
}
```
以上就是一个简单的MyBatis入门程序。通过使用MyBatis,可以更方便地操作数据库,减少Java代码和SQL语句的耦合程度,提高代码的可读性和可维护性。
阅读全文