pom.xml依存性
<?XMLバージョン= "1.0"エンコード= "UTF-8" ?> < プロジェクトのxmlns = "http://maven.apache.org/POM/4.0.0" のxmlns:XSI = "http://www.w3.org / 2001 / XMLスキーマ・インスタンス」 のxsi:のschemaLocation = "http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" > < modelVersion > 4.0.0 </ modelVersion > < groupIdを> COM </ groupIdを> < たartifactId >テスト</ たartifactId > <</ バージョン> < 依存性> < 依存性> < のgroupId > com.alibaba </ のgroupId > < たartifactId >ドルイド</ たartifactId > < バージョン> 1.1.19 </ バージョン> </ 依存> < 依存性> < のgroupId > MySQLの< / のgroupId > < たartifactId >のmysql-コネクタ-javaの</ たartifactId> < バージョン> 8.0.17 </ バージョン> </ 依存> < 依存性> < のgroupId > org.mybatis </ のgroupId > < たartifactId > MyBatisの</ たartifactId > < バージョン> 3.5.2 </ バージョン> </ 依存> </ 依存関係> < 構築> < プラグイン> <プラグイン> <groupId > org.apache.maven.plugins </ のgroupId > < たartifactId > Mavenのコンパイラ・プラグイン</ たartifactId > < 構成> < ソース> 1.8 </ ソース> < ターゲット> 1.8 </ ターゲット> < コード> UTF-8 </ エンコーディング> </ 構成> </ プラグイン> </ プラグイン> </ ビルド> </ プロジェクト>
DataSourceFactoryのインタフェースを実装しMyBatisの新しい構成クラス
ドルイドDruidDataSourceFactoryも、それは他の名前を取る混ぜることを恐れというクラスを持っています。
パッケージcom.config。 輸入com.alibaba.druid.pool.DruidDataSource。 輸入org.apache.ibatis.datasource.DataSourceFactory; インポートするjavax.sql.DataSource; 輸入ます。java.sql.SQLException; 輸入java.util.Properties; パブリック クラス DruidDataSourceFactoryは実装DataSourceFactory { プライベートのプロパティのプロパティを。 @Override 公共 ボイドのsetProperties(プロパティのプロパティ){ 本の.properties = 性質; } @Override パブリックデータソースをgetDataSource(){ DruidDataSource DDS= 新しいDruidDataSource()。 dds.setUrl(この .properties.getProperty( "URL" )); dds.setUsername(この .properties.getProperty( "ユーザ名" )); dds.setPassword(この .properties.getProperty( "パスワード" )); 試す{ dds.initを(); } キャッチ(のSQLException E){ e.printStackTrace(); } 戻りDDSと、 } }
プロフィールMyBatisの-config.xmlには、コンフィギュレーション・クラスのデータ・ソース・タイプは、完全なクラス名です
<?XMLバージョン= "1.0"エンコード= "UTF-8" ?> <!DOCTYPE設定PUBLIC " - // mybatis.org//DTDコンフィグ3.0 // EN" "http://mybatis.org/dtd/mybatis-3-config.dtd" > < 設定> <! - 外部プロパティを配置文件 - > < プロパティのリソースは= "db.properties" /> <! - 配置数据源- > < 環境デフォルト= "開発-mysqlの" > < 環境IDは= "開発-mysqlの" > < タイプ= "com.config.DruidDataSourceFactory" > < プロパティ名= "URL" 値= "$ {jdbc.jdbcUrl}" /> < プロパティ名= "ユーザ名" 値= "$ {jdbc.user}" /> < プロパティ名前= "パスワード" 値= "$ {jdbc.password}" /> </ のdataSource > </ 環境> </ 環境> <! - マッパー:SQL将映射文件注册到全局配置中- > < マッパー> <! - クラスパス内の参照SQLマッピングファイル- > <マッパーリソース= "マッパ/ XXXMapper.xml" /> </ マッパー> </ 設定>
データベース接続情報db.properties
jdbc.driverClass = com.mysql.cj.jdbc.Driver jdbc.jdbcUrl = JDBCます。mysql://127.0.0.1:?3306 /テストuseSslオプション=偽&useUnicode =真&characterEncoding = UTF8&serverTimezone = GMT jdbc.user =ルート jdbc.password =ルート
テスト
パブリック 静的 ボイドメイン(文字列[]引数){ SQLSESSIONセッション = NULL ; SQLSESSION batchSession = nullを。 試す{ 文字列リソース = "MyBatisの-config.xmlの" ; InputStream InputStreamは = Resources.getResourceAsStream(リソース) SqlSessionFactory sqlSessionFactory = 新しいSqlSessionFactoryBuilder()(InputStreamを)構築します。 セッション = sqlSessionFactory.openSession()。 batchSession = sqlSessionFactory.openSession(ExecutorType.BATCH)。 // 不用接口的方式 // ユーザーユーザー= session.selectOne( "com.dao.UserMapper.selectUser"、1); session.commit(); batchSession.commit(); } キャッチ(IOExceptionを電子){ e.printStackTrace(); } 最後に{ 場合(セッション!= NULL ){ session.close()。 } であれば(batchSession!= NULL ){ batchSession.close()。 } } }
https://github.com/alibaba/druid/wiki/DruidDataSource%E9%85%8D%E7%BD%AE