mybatis springboot " />

扫描二维码下载沐宇APP

沐宇

微信扫码使用沐宇小程序

沐宇

springboot濡備綍閰嶇疆mybatis

扬州沐宇科技
2024-01-15 09:13:53
mybatis springboot

瑕佸湪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>

@Mapper

public 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绫伙細

@Service

public class UserService {

    @Autowired

    private UserMapper userMapper;

    public List<User> getAllUsers() {

        return userMapper.getAllUsers();

    }

    // 鍏朵粬鏂规硶...

}

杩欐牱锛屾偍灏卞畬鎴愪簡鍦⊿pring Boot涓厤缃甅yBatis鐨勮繃绋嬨€傛偍鍙互鏍规嵁闇€瑕佹墿灞曞拰璋冩暣閰嶇疆锛屼互婊¤冻鎮ㄧ殑鍏蜂綋闇€姹傘€?/p>

扫码添加客服微信