<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                企業??AI智能體構建引擎,智能編排和調試,一鍵部署,支持知識庫和私有化部署方案 廣告
                # Spring Boot 集成Mybatis Spring Boot并沒有提供mybaits的集成,但是mybatis實現了,詳細信息參看: [http://www.mybatis.org/spring-boot-starter/mybatis-spring-boot-autoconfigure/](http://www.mybatis.org/spring-boot-starter/mybatis-spring-boot-autoconfigure/) ## 兩種集成方式 - 基于xml文件 - 基于注解 ## 添加依賴 ``` <dependency> <groupId>org.mybatis.spring.boot</groupId> <artifactId>mybatis-spring-boot-starter</artifactId> <version>1.2.0</version> </dependency> ``` ## 基于xml的集成 ### 配置xml文件路徑 ``` mybatis.mapper-locations=classpath:com/luyou/mybatis/*.xml ``` ### 定義接口 ``` import java.util.List; import org.apache.ibatis.annotations.Mapper; import com.luyou.domain.User; // 注意這個@Mapper注解必須要 @Mapper public interface UserXMLMapper { List<User> findAll(); long save(User user); } ``` ### 定義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.luyou.dao.UserXMLMapper"> <insert id="save" parameterType="com.luyou.domain.User" useGeneratedKeys="true" keyProperty="id"> insert into user (name,birthday,createtime) values (#{name},#{birthDay},#{registerDate}) </insert> <select id="findAll" resultType="com.luyou.domain.User"> select id,name,birthday birthDay,createtime registerDay from user </select> </mapper> ``` ### Service層注入 ``` @Autowired private UserXMLMapper userXMLMapper; ``` ### 示例 ``` @Override public List<User> queryAll() { //List<User> list = userDao.queryAll(); //List<User> list = userRepository.findAll(); List<User> list = userXMLMapper.findAll(); return list; } @Override @Transactional public long save(User user) { // 參數校驗 Assert.notNull(user,"用戶不能為空"); Assert.isTrue(user.getId() == 0, "用戶id非法,必須為0"); Assert.hasLength(user.getName(), "用戶名稱不能為空"); Assert.notNull(user.getBirthDay(),"用戶生日不能為空"); Assert.notNull(user.getRegisterDate(),"用戶注冊時間不能為空"); // 新增 //long pk = userDao.save(user); // 打印主鍵 // 造成異常 //double result = 1 / 0; //User afterUser = userRepository.save(user); userXMLMapper.save(user); long pk = user.getId(); return pk; } ``` ## 基于注解的集成 ### 定義接口 ``` package com.luyou.dao; import java.util.List; import org.apache.ibatis.annotations.Insert; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Options; import org.apache.ibatis.annotations.Select; import com.luyou.domain.User; @Mapper public interface UserAnnotationMapper { @Insert("insert into user (name,birthday,createtime) values (#{name},#{birthDay},#{registerDate})") @Options(useGeneratedKeys=true,keyProperty="id") long save(User user); @Select("select id,name,birthday birthDay, createtime registerDate from user") List<User> findAll(); } ``` ### Service層注入 ``` @Autowired private UserAnnotationMapper userAnnotationMapper; ``` ### 示例與上面一致 ## 關于Mybatis注解方式 * 從Mybatis在國內的流行來看,多數是以xml方式集成spring的,剛接觸注解方式會不習慣。 * xml可以寫出很復雜的sql語句,但若寫在注解上,那么看起會很不方便,因此Mybatis開發了一種以java代碼的方式來寫Sql的方法,叫[SQL語句構建器](http://www.mybatis.org/mybatis-3/zh/statement-builders.html),感興趣可以研究。 * Mybatis官網是為數不多提供中文文檔的
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看