日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 前端技术 > javascript >内容正文

javascript

SpringBoot_数据访问-整合MyBatis(二)-配置版MyBatis

發布時間:2024/4/13 javascript 29 豆豆
生活随笔 收集整理的這篇文章主要介紹了 SpringBoot_数据访问-整合MyBatis(二)-配置版MyBatis 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
前面使用全注解的方式,我們寫了一個Mybatis的類,我們對數據庫進行增刪改查的操作,在實際開發中呢,我們也經常使用配置文件的方式,我們需要一個Mybatis的全局配置文件,包括寫一個映射文件,那我們就看一下配置文件的方式是怎么用呢,我來創建一個新的mapper,操作Employee這張表,它是一個interface,首先我們不管是配置文件還是注解的方式,都應該使用@Mapper,或者用@MapperScan的方式,一定要把這個接口掃描到這個容器中,這個是必不可少的,用SQL映射文件來對應這個mapper,我們mybatis目錄文件,我們再來創建一個mapper,我們在mapper下存所有的映射文件,來寫一個SQL映射文件,我們就得創建一個XML文件,這個SQL映射文件怎么寫呢,我們看一下官方文檔,mybatis都托管到github里面,mybatis的相關資料,我們來搜索mybatis,我們就是mybatis3,mybatis/mybatis-3https://github.com/mybatis/mybatis-3第一個就是mybatis的官方文檔MyBatis SQL mapper framework for Java http://mybatis.github.io/mybatis-3/這里有一個Getting started快速開始,示例里面有全局配置文件<?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE configurationPUBLIC "-//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="${driver}"/><property name="url" value="${url}"/><property name="username" value="${username}"/><property name="password" value="${password}"/></dataSource></environment></environments><mappers><mapper resource="org/mybatis/example/BlogMapper.xml"/></mappers> </configuration>mybatis-config.xml全局配置文件粘過來,<?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE configurationPUBLIC "-//mybatis.org//DTD Config 3.0//EN""http://mybatis.org/dtd/mybatis-3-config.dtd"> <configuration></configuration>SQL映射文件也在下邊<?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE mapperPUBLIC "-//mybatis.org//DTD Mapper 3.0//EN""http://mybatis.org/dtd/mybatis-3-mapper.dtd"> <mapper namespace="org.mybatis.example.BlogMapper"><select id="selectBlog" resultType="Blog">select * from Blog where id = #{id}</select> </mapper>SQL映射文件,首先在namespace上,跟接口綁定,我們把接口的全類名copy過來,這個接口有兩個方法,把這兩個方法用配置的方式配置在映射文件里面,第一個是查詢我們使用select標簽,id就是我們的方法名,方法的返回是resultType,指明方法的類型,應該用全類名,然后我們來寫SQL語句,插入沒有返回值,mybatis.config-location=classpath:mybatis/mybatis-config.xmlmybatis.mapper-locations=classpath:mybatis/mapper/*.xmlhttp://localhost:8080/emp/1{"id":1,"name":"張三1","gender":"男","title":"軟件開發工程師","email":"zhangsan1@126.com", "salary":4000.0,"deptId":1} #debug=true #server.port=8081#server.context-path=/boot02spring.http.encoding.charset=UTF-8 spring.http.encoding.enabled=true spring.http.encoding.force=truelogging.level.com.learn=trace #logging.file=D:/springboot.log logging.file=springboot.log #logging.path=/spring/log logging.pattern.console=%d{yyyy-MM-dd} [%thread] %-5level %logger{50} - %msg%n logging.pattern.file=%d{yyyy-MM-dd} ==== [%thread] %-5level ==== %logger{50} ==== %msg%n #spring.resources.static-locations=classpath:/hello,classpath:/learnspring.datasource.username=root spring.datasource.password=123456 spring.datasource.url=jdbc:mysql://localhost:3306/day20 spring.datasource.driver-class-name=com.mysql.jdbc.Driver spring.datasource.type=com.alibaba.druid.pool.DruidDataSource spring.datasource.initialSize=5 spring.datasource.minIdle=5 spring.datasource.maxActive=20 spring.datasource.maxWait=60000mybatis.config-location=classpath:mybatis/mybatis-config.xml mybatis.mapper-locations=classpath:mybatis/mapper/*.xml package com.learn.mapper;import org.apache.ibatis.annotations.Mapper;import com.learn.entities.Employee;//@Mapper或者@MapperScan將接口掃描裝配到容器中 @Mapper public interface EmployeeMapper {public Employee getEmpById(Integer id);public void insertEmp(Employee employee);// @Select("select * from employee where id=#{id}") // public Employee getEmpById(Integer id); // // @Update("update employee set NAME=#{name},email=#{email},gender=#{gender},deptId=#{deptId} where id=#{id}") // public void updateEmp(Employee employee); // // @Delete("delete from employee where id=#{id}") // public void deleteEmpById(Integer id); // // @Insert("insert into employee(NAME,email,gender,deptId) values(#{name},#{email},#{gender},#{deptId})") // public void insertEmployee(Employee employee); // // @Select("select * from employee where NAME=#{name}") // public Employee getEmpByLastName(String lastName);} <?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE mapperPUBLIC "-//mybatis.org//DTD Mapper 3.0//EN""http://mybatis.org/dtd/mybatis-3-mapper.dtd"> <mapper namespace="com.learn.mapper.EmployeeMapper"><select id="getEmpById" resultType="com.learn.entities.Employee">select * from employee where id = #{id}</select><insert id="insertEmp">insert into employee(NAME,email,gender,deptId) values(#{name},#{email},#{gender}#{deptId})</insert></mapper> package com.learn.controller;import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.PathVariable; import org.springframework.web.bind.annotation.RestController;import com.learn.entities.Employee; import com.learn.mapper.EmployeeMapper;@RestController public class EmpController {@AutowiredEmployeeMapper employeeMapper;@GetMapping("/emp/{id}")public Employee getEmp(@PathVariable("id") Integer id) {return employeeMapper.getEmpById(id);}} 我們看到這個數據是查到了,我們這一塊did沒有值,是因為駝峰命名法沒有使用起來,我們就可以來全局配置文件里來配置了,參照mybatis的官方文檔,來到Configuration XML里面,我們看一下他的設置項http://www.mybatis.org/mybatis-3/configuration.html拿到mapUnderscoreToCamelCase,拿到它,然后設置為true<?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE configurationPUBLIC "-//mybatis.org//DTD Config 3.0//EN""http://mybatis.org/dtd/mybatis-3-config.dtd"> <configuration><settings><setting name="mapUnderscoreToCamelCase" value="true"></settings> </configuration>來重啟一下,這樣全局配置文件和SQL映射文件,也就能用了,我們發現這個dId就有值了,我們后來的配置就可以寫在配置文件里面了,那我們之前的注解版的departmentMapper能不能使用呢,我們再來發一個department請求http://localhost:8080/dept/1{"id":1,"deptName":"應用開發部","principal":"李經理","functional":"負責公司軟件業務的開發"}你發現也是能夠使用的,注解版你可以為他來寫Mapper文件,也可以使用注解版,都行,我們可以來混合使用的,主要的核心步驟呢,就是需要指定這一個mybatis.config-location=classpath:mybatis/mybatis-config.xml mybatis.mapper-locations=classpath:mybatis/mapper/*.xml配置文件版,指定全局配置文件的位置,指定SQL映射文件的位置,這兩個一指定呢,mybatis的使用就和以前一模一樣了

?

總結

以上是生活随笔為你收集整理的SpringBoot_数据访问-整合MyBatis(二)-配置版MyBatis的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。