Contoh ini berbagi dengan Anda metode mengintegrasikan springboot dengan mybatis menggunakan kumpulan koneksi database Druid. Konten spesifiknya adalah sebagai berikut
Dalam proyek Springboot, tambahkan dependensi berikut
<!-Spring mybatis-> <dependency> <GroupId> org.mybatis.spring.boot </groupid> <ArTifactId> mybatis-spring-boot-starter </arttifactid> <version> 1.1.1 </version> </dependency> <!-mysql-> <version> </version> </dependency> <!-mysql-> <version> </version> </dependency> <!-mysql-> <version> </Version> </dependency> <!-mysql-> <version> groups> <ArTifactId> mysql-connector-java </arttifactid> <scope> runtime </opope> </dependency> <!-kumpulan koneksi database druid-> <dependency> <groupid> com.alibaba </groupid> <Artifactid> druid </arttifactid> </Versi 1.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.2.2.0.0.
Di direktori sumber daya, buat file konfigurasi jdbc.properties dan tambahkan konfigurasi berikut
Konfigurasi #database spring.datasource.url = jdbc: mysql: //127.0.0.1: 3306/test? UseUnicode = true & characterencoding = utf8 & usessl = falsspring.d atasource.username = adminspring.datasource.password = adminspring.datasource.driver-class-name = com.mysql.jdbc.driver# Konfigurasi Pool koneksi # Inisialisasi ukuran, minimum, maksimum spring.datasource.initialsize = 5 spring.datasource.minidle = 5 spring.datasource.maxactive = 20 # Konfigurasikan waktu untuk mendapatkan waktu tunggu di Millis. spring.dataSource.TimeBetweenevictionrunsmillis = 60000# Mengkonfigurasi waktu minimum untuk bertahan hidup di kolam, dalam milidetik spring.datasource.minevictableDeLletimeMillis = 300000# tes apakah koneksi itu valid sqlspring.dataSource.validationQuery ' Melamar koneksi, jika waktu idle lebih besar dari timebetweenevictionrunsmillis, jalankan validationquery untuk mendeteksi apakah koneksi tersebut valid spring.dataSource.testwhileIdle = true# ketika berlaku untuk koneksi, jalan validasi untuk mendeteksi apakah koneksi validing spring.dataSource.testonborrow = falerie# spring.datasource.testonreturn = false# Untuk mengaktifkan pscache, itu harus dikonfigurasi lebih besar dari 0. Ketika lebih besar dari 0, PoolPreparedStatements akan secara otomatis dipicu menjadi truespring.dataSource.maxpoolpreparedStatePonConnectionSize = 20# tipe atribut adalah string. Plug-in ekstensi dikonfigurasi oleh alias. Plug-in umum adalah:# untuk pemantauan statistik: stat# untuk filter logging: log4j# untuk pertahanan terhadap sql injeksi: wallspring.datasource.filters = stat, log4j, dinding
Buat kelas konfigurasi sumber data DataSourCeConfig.java, kodenya adalah sebagai berikut
Paket com.liao.mybatis; import com.alibaba.druid.pool.druiddataSource; impor org.mybatis.spring.annotation.mapperscan; impor org.slf4j.logger; impor org.slf4j.loggerFactory; org.springframework.beans.factory.annotation.Autowired; impor org.springframework.beans.factory.annotation.value; impor org.springframework.context.annotation.bean; impor org.springframework.context.notation.notation org.springframework.context.annotation.propertysource; impor org.springframework.stereotype.sponent; import javax.sql.datasource; import java.sql.sqlexception;/** Sumber data * * @author hongyangliao @ @aUthor hongyangliao * 8:56 pm*/@configuration@mapperscan ("com.liao. **. DAO") kelas publik DataSourCeConfig {private static final Logger Logger = loggerFactory.getLogger (DataSourCeConfig.class); @Autowired private JDBCConfig JDBCConfig; @Bean @primary // Dalam DataSource yang sama, pertama -tama gunakan DataSource DataSource Public DataSource () {druidDataSource druidDataSource = druidDataSource () baru () {new druidDataSource (); druiddataSource.setUrl (jdbcconfig.getUrl ()); druiddataSource.setusername (jdbcconfig.getusername ()); druiddataSource.setPassword (jdbcconfig.getPassword ()); druiddataSource.setinitialsize (jdbcconfig.getInitialSize ()); druiddataSource.setminidle (jdbcconfig.getMinidle ()); druiddataSource.setmaxactive (jdbcconfig.getmaxactive ()); druiddataSource.settimeBetweenevictionrunsmillis (jdbcconfig.gettimebetweenevictionrunsmillis ()); druiddataSource.setMinevictableidleTimemillis (jdbcconfig.getMinevictableidleTimemillis ()); druiddataSource.setValidationQuery (jdbcconfig.getValidationQuery ()); druiddataSource.settestwhileidle (jdbcconfig.istestwhileidle ()); druiddatasource.settestonborrow (jdbcconfig.istestonborrow ()); druiddatasource.settestonreturn (jdbcconfig.istestonreturn ()); druiddataSource.setMaxPoolPreparedStateMentPerConnectionSize (jdbcconfig.getmaxpoolPreparedStateMentPonConnectionSize ()); coba {druidDataSource.setFilters (jdbcconfig.getFilters ()); } catch (sqlexception e) {if (logger.isInfoEnabled ()) {logger.info (e.getMessage (), e); }} return druidDataSource; } /** * Kelas Konfigurasi JDBC * * @author hongyangliao * @classname: jdbcconfig * @date 18-1-2 9:00 pm * /@propertysource (value = "classpath: jdbc.properties") @component static public class jdbcconfig {dord {component class jdbcconfig {componic class jdbcconfig {componic class jdbcconfig {componic class JDBCConfig @Value ("$ {spring.datasource.username}") Private String username; / *** Nama driver*/ @Value ("$ {spring.datasource.driver-class-name}") Private String DriverClass; / ** * URL koneksi basis data */ @Value ("$ {spring.datasource.url}") private string url; / *** Ukuran inisialisasi kumpulan koneksi basis data*/ @value ("$ {spring.datasource.initialsize}") private int inisias; / *** Jumlah minimum koneksi dalam kumpulan koneksi database*/ @Value ("$ {spring.datasource.minidle}") private int minidle; / *** Jumlah maksimum koneksi dalam kumpulan koneksi database*/ @Value ("$ {spring.datasource.maxactive}") private int maxactive; / *** Dapatkan waktu ketika koneksi menunggu batas waktu*/ @value ("$ {spring.datasource.maxwait}") pribadi long maxwait; / *** Seberapa sering mendeteksi*/ @value ("$ {spring.datasource.timeBeteaficeEvictionRunsmillis}") private long timeBetweeneVictionRunsmillis; / *** Waktu minimum untuk koneksi untuk bertahan hidup di kolam*/ @value ("$ {spring.datasource.minevictableIdleTimemillis}") pribadi MinEvictableDeTimemillis Private; / ** * sql untuk menguji apakah koneksi valid */ @value ("$ {spring.datasource.validationQuery}") private string validationQuery; / ** * Saat melamar koneksi, jika waktu idle lebih besar dari timebetweenevictionrunsmillis, periksa apakah koneksi valid */ @value ("$ {spring.datasource.testwhileidle}") test boolean pribadi; / ** * Saat mengajukan koneksi, periksa apakah koneksi valid */ @Value ("$ {spring.datasource.testonborrow}") private boolean testonborrow; / ** * Saat mengembalikan koneksi, periksa apakah koneksi valid */ @value ("$ {spring.datasource.testonreturn}") private boolean testonreturn; / *** ukuran pscache*/ @value ("$ {spring.datasource.maxpoolPreparedStatePerPonConnectionSize}") int private maxpoolPreparedStatePerConnectionSize; / ***Mengkonfigurasi plugin ekstensi oleh alias*/ @value ("$ {spring.datasource.filters}") filter string pribadi; string publik getUserName () {return username; } public void setusername (string username) {this.username = username; } public String getDriverClass () {return driverClass; } public void setDriverClass (String DriverClass) {this.DriverClass = driverClass; } public String getUrl () {return url; } public void setUrl (string url) {this.url = url; } public string getPassword () {return kata sandi; } public void setPassword (kata sandi string) {this.password = kata sandi; } public int getInitialSize () {return initialsize; } public void setInitialSize (int inisizi) {this.initialsize = inisialisasi; } public int getminidle () {return minidle; } public void setminidle (int minidle) {this.minidle = minidle; } public int getmaxactive () {return maxactive; } public void setmaxActive (int maxactive) {this.maxactive = maxactive; } public long getmaxwait () {return maxwait; } public void setmaxwait (long maxwait) {this.maxwait = maxwait; } public getTimeBeteFareVictionRunsmillis () {return timebetweenevictionrunsmillis; } public void setTimeBetweenEvictionRunsmillis (long timeBetweeneVictionRunsmillis) {this.TimeBetweenEvictionRunsmillis = TimeBetweeneVictionRunsmillis; } public long getMineVictableIdeLeTimeMillis () {return MinEvictableIdletimeMillis; } public void setminevictableIdleTimemillis (long minevictableidleTimeMillis) {this.minevictableIdleTimemillis = minevictableDeLeTimemillis; } public String getValidationQuery () {return validationQuery; } public void setValidationQuery (String ValidationQuery) {this.validationQuery = ValidationQuery; } public boolean iStestwhileIdle () {return testwhileIdle; } public void settestwhileIdle (boolean testwhileIdle) {this.testwhileIdle = testwhileIdle; } public boolean iStestonborrow () {return testonborrow; } public void SettestonBorrow (Boolean testonborrow) {this.testonborrow = testonborrow; } public boolean iStestonreturn () {return testonreturn; } public void SettestonReturn (Boolean testonreturn) {this.testonreturn = testonreturn; } public int getMaxPoolPreparedStateMentPerConnectionSize () {return maxPoolPreparedStatePerPonnectionSize; } public void setmaxPoolPreparedStateMentPerConnectionSize (int maxPoolPreparedStatePerConnectionSize) {this.MaxPoolPreparedStatePerConnectionSize = maxPoolPreparedStateMentPonNectionSize; } public string getFilters () {return filter; } public void setFilters (string filter) {this.filters = filter; }}}Buat Kelas Konfigurasi Pabrik Session SessionFactoryConfig.java, kodenya adalah sebagai berikut
Paket com.liao.mybatis; impor java.io.ioexception; impor javax.sql.datasource; impor org.mybatis.spring.sqlsessionfactorybean; impor org.springframework.beans.factory.annotation.Autowired; Impor org.spramework.beans.factory.annotation.Autowired; Impor org org.springframework.context.annotation.configuration; impor org.springframework.core.io.classpathResource; impor org.springframework.transaction.annotation. <tx: anotasi-driven /> kelas publik sessionFactoryConfig { /** * mybatis Path konfigurasi * /string statis privat mybatis_config = "mybatis-config.xml"; @Autowired Private DataSource DataSource; /**** Buat SQLSessionFactoryBean* dan atur konfigurasi seperti penamaan unta. dll * Setel jalur pemetaan mapper * atur sumber data data data * * @title: createsqlSessionfactorybean * @author: hongyangliao * @Date: 18-1-3 9:52 AM * @param * @return org.mybatis.spring.sqlsessionfactorybean SQLSESTORY sqlean sqleanfactorybean sqleanfacpingybean sqlean sqlean sqeanfacporyfactorybean "SQLSessionFactory") Publik SQLSessionFactoryBean CreatesQLSessionFactoryBean () melempar ioException {sqlSessionFactoryBean SQLSessionFactory = SQLSessionFactoryBean baru (); // atur mybatis konfigurasi pindai jalur sqlsessionfactory.setConfigLocation (classpathResource baru (mybatis_config)); // atur DataSource SQLSessionFactory.SetDataSource (DataSource); return SQLSessionFactory; }}Di atas adalah semua konten artikel ini. Saya berharap ini akan membantu untuk pembelajaran semua orang dan saya harap semua orang akan lebih mendukung wulin.com.