springboot濡備綍閰嶇疆mybatis
瑕佸湪Spring Boot涓厤缃甅yBatis锛屾偍闇€瑕佸畬鎴愪互涓嬫楠わ細
1. 娣诲姞MyBatis鍜岀浉鍏充緷璧栭」锛氶鍏堬紝鍦ㄦ偍鐨刞pom.xml`鏂囦欢涓坊鍔犲繀瑕佺殑渚濊禆椤广€傝繖閫氬父鍖呮嫭`mybatis-spring-boot-starter`鍜岀浉搴旂殑鏁版嵁搴?/span>椹卞姩绋嬪簭渚濊禆椤广€?/p> 绀轰緥`pom.xml`鐗囨锛?/p><dependencies>
<!-- MyBatis -->
<dependency>
<groupId>org.mybatis.spring.boot</groupId>
<artifactId>mybatis-spring-boot-starter</artifactId>
<version>2.2.0</version>
</dependency>
<!-- 鏁版嵁搴撻┍鍔ㄧ▼搴忎緷璧栭」锛屼緥濡?nbsp;MySQL -->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>8.0.23</version>
</dependency>
</dependencies>
2. 閰嶇疆鏁版嵁搴撹繛鎺ヤ俊鎭細鍦╜application.properties`鏂囦欢涓紝涓烘偍鐨勬暟鎹簱鎻愪緵鐩稿簲鐨勮繛鎺ヤ俊鎭紝渚嬪URL銆佺敤鎴峰悕鍜屽瘑鐮併€?/p>
绀轰緥`application.properties`鏂囦欢锛?/p>
# 鏁版嵁搴撹繛鎺ヤ俊鎭?/p>spring.datasource.url=jdbc:mysql://localhost:3306/mydatabase
spring.datasource.username=root
spring.datasource.password=your_password
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
# MyBatis閰嶇疆
mybatis.mapper-locations=classpath:mapper/*.xml
mybatis.type-aliases-package=com.example.model
璇风‘淇濆皢涓婅堪绀轰緥涓殑`mydatabase`鏇挎崲涓烘偍瀹為檯浣跨敤鐨勬暟鎹簱鍚嶇О锛屽苟浣跨敤姝g‘鐨勬暟鎹簱杩炴帴URL銆佺敤鎴峰悕鍜屽瘑鐮併€?/p>
3. 鍒涘缓鏁版嵁婧愬拰SqlSessionFactory Bean锛氬湪鎮ㄧ殑Spring Boot搴旂敤绋嬪簭鐨勯厤缃被涓紝鍒涘缓涓€涓暟鎹簮鍜孲qlSessionFactory Bean銆?/p>
绀轰緥閰嶇疆绫伙細
@Configuration@MapperScan("com.example.mapper") // 鎸囧畾MyBatis Mapper鎺ュ彛鐨勬壂鎻忚矾寰?/p>
public class MyBatisConfig {
@Autowired
private DataSource dataSource;
@Bean
public SqlSessionFactory sqlSessionFactory() throws Exception {
SqlSessionFactoryBean sessionFactory = new SqlSessionFactoryBean();
sessionFactory.setDataSource(dataSource);
return sessionFactory.getObject();
}
}
璇风‘淇濆皢涓婅堪绀轰緥涓殑`com.example.mapper`鏇挎崲涓烘偍瀹為檯鐨凪apper鎺ュ彛鎵€鍦ㄧ殑鍖呭悕銆?/p>
4. 鍒涘缓Mapper鎺ュ彛鍜屽搴旂殑XML鏄犲皠鏂囦欢锛氬垱寤烘偍鐨凪apper鎺ュ彛浠ュ強涓庝箣瀵瑰簲鐨刋ML鏄犲皠鏂囦欢銆傚湪XML鏄犲皠鏂囦欢涓畾涔塖QL鏌ヨ璇彞鍜岀粨鏋滄槧灏勮鍒欍€?/p>
绀轰緥Mapper鎺ュ彛锛?/p>
@Mapperpublic interface UserMapper {
List<User> getAllUsers();
User getUserById(Long id);
void insertUser(User user);
void updateUser(User user);
void deleteUser(Long id);
}
绀轰緥XML鏄犲皠鏂囦欢锛坄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="com.example.mapper.UserMapper">
<select id="getAllUsers" resultType="com.example.model.User">
SELECT * FROM users
</select>
<!-- 鍏朵粬SQL璇彞... -->
</mapper>
璇风‘淇濆皢涓婅堪绀轰緥涓殑`com.example.mapper.UserMapper`鍜宍com.example.model.User`鏇挎崲涓烘偍瀹為檯鐨凪apper鎺ュ彛鍜屾ā鍨嬬被銆?/p>
5. 鍦ㄩ渶瑕佷娇鐢∕yBatis鐨勫湴鏂规敞鍏apper骞朵娇鐢細鍦ㄦ偍鐨勬湇鍔$被鎴栧叾浠栧湴鏂癸紝閫氳繃@Autowired娉ㄨВ灏哅apper鎺ュ彛娉ㄥ叆杩涙潵锛屽苟浣跨敤鍏朵腑瀹氫箟鐨勬柟娉曡繘琛屾暟鎹簱鎿嶄綔銆?/p>
绀轰緥Service绫伙細
@Servicepublic class UserService {
@Autowired
private UserMapper userMapper;
public List<User> getAllUsers() {
return userMapper.getAllUsers();
}
// 鍏朵粬鏂规硶...
}
杩欐牱锛屾偍灏卞畬鎴愪簡鍦⊿pring Boot涓厤缃甅yBatis鐨勮繃绋嬨€傛偍鍙互鏍规嵁闇€瑕佹墿灞曞拰璋冩暣閰嶇疆锛屼互婊¤冻鎮ㄧ殑鍏蜂綋闇€姹傘€?/p>