MyBatis简介
MyBatis是一个优秀的基于Java的持久层框架,它内部封装了JDBC,通过XML或注解将Java对象和SQL语句进行映射,使得开发者可以通过简单的配置和少量代码来进行复杂的数据库操作。
配置MyBatis+Spring+MySQL
步骤一:创建Maven项目
首先,创建一个基于Maven的Java项目,命名为mybatis-demo。
在pom.xml文件中添加MyBatis和MySQL依赖:
<dependencies>
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis</artifactId>
<version>3.5.6</version>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>8.0.25</version>
</dependency>
</dependencies>
步骤二:配置MySQL连接信息
在src/main/resources目录下新建application.properties文件,配置MySQL连接信息,如下所示:
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
spring.datasource.url=jdbc:mysql://localhost:3306/mybatis_demo?serverTimezone=Asia/Shanghai
spring.datasource.username=root
spring.datasource.password=root
步骤三:创建实体类
创建实体类User,包含id、name和age属性。
public class User {
private Integer id;
private String name;
private Integer age;
// getter and setter
}
步骤四:创建Mapper接口
创建UserMapper接口用于定义数据访问的方法。
public interface UserMapper {
User getUserById(Integer id);
List<User> getUsers();
void insertUser(User user);
void updateUser(User user);
void deleteUser(Integer id);
}
步骤五:编写Mapper.xml文件
在resources目录下创建mapper目录,创建UserMapper.xml文件,定义数据访问的SQL语句。
<mapper namespace="com.example.mybatisdemo.mapper.UserMapper">
<select id="getUserById" resultType="com.example.mybatisdemo.entity.User">
select * from user where id = #{id}
</select>
<select id="getUsers" resultType="com.example.mybatisdemo.entity.User">
select * from user
</select>
<insert id="insertUser">
insert into user(name, age) values(#{name}, #{age})
</insert>
<update id="updateUser">
update user set name = #{name}, age = #{age} where id = #{id}
</update>
<delete id="deleteUser">
delete from user where id = #{id}
</delete>
</mapper>
步骤六:配置MyBatis
在resources目录下创建mybatis-config.xml文件,配置MyBatis的相关信息。
<configuration>
<environments default="development">
<environment id="development">
<transactionManager type="JDBC" />
<dataSource type="POOLED">
<property name="driver" value="${spring.datasource.driver-class-name}" />
<property name="url" value="${spring.datasource.url}" />
<property name="username" value="${spring.datasource.username}" />
<property name="password" value="${spring.datasource.password}" />
</dataSource>
</environment>
</environments>
<mappers>
<mapper resource="mapper/UserMapper.xml" />
</mappers>
</configuration>
步骤七:配置Spring
在application.properties文件中使用mybatis.config-location属性指定MyBatis配置文件的位置。
mybatis.config-location=classpath:mybatis-config.xml
在启动类添加@MapperScan注解扫描Mapper接口所在的包。
@SpringBootApplication
@MapperScan("com.example.mybatisdemo.mapper")
public class MybatisDemoApplication {
public static void main(String[] args) {
SpringApplication.run(MybatisDemoApplication.class, args);
}
}
步骤八:创建Controller并测试
在Controller中注入UserMapper并调用相应方法,测试数据访问是否正常。
@RestController
public class UserController {
@Autowired
private UserMapper userMapper;
@GetMapping("/user/{id}")
public User getUserById(@PathVariable Integer id) {
return userMapper.getUserById(id);
}
@GetMapping("/user")
public List<User> getUsers() {
return userMapper.getUsers();
}
@PostMapping("/user")
public void insertUser(@RequestBody User user) {
userMapper.insertUser(user);
}
@PutMapping("/user")
public void updateUser(@RequestBody User user) {
userMapper.updateUser(user);
}
@DeleteMapping("/user/{id}")
public void deleteUser(@PathVariable Integer id) {
userMapper.deleteUser(id);
}
}
现在,我们可以通过访问http://localhost:8080/user获取所有用户信息,通过访问http://localhost:8080/user/1获取id为1的用户信息,通过其他HTTP方法修改和删除用户信息。
示例一:插入用户信息
User user = new User();
user.setName("Jack");
user.setAge(20);
userMapper.insertUser(user);
示例二:更新用户信息
User user = userMapper.getUserById(1);
user.setName("Tom");
user.setAge(25);
userMapper.updateUser(user);
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:MyBatis简介与配置MyBatis+Spring+MySql的方法 - Python技术站