2020-02-15
9017 ワード
庚子ネズミ年戊寅月戊子日
説明
spring-mybatis文書は読みます。http://mybatis.org/spring/zh/index.html
spring-mybatis xml配置
spring-mybatis java配置
技術まとめ:spring-mybaits配置https://blog.csdn.net/qq_40674583/articale/detail/10332196
随筆
dataSource
基本的なMyBatisの使い方では、 の一般的な属性は、MyBatisのXMLプロファイルパスを指定する 事務
Sql Session DaoSupportを使う
テスト
Maven依存
クラスパスのリソースファイルを取得するために使用できます。
FileSystem Resourceはファイルシステム内のリソースを取得するために使用できます。FileSystemResourceはまた、対応するリソースファイルに内容を書き込むことができます。もちろん前提は現在のリソースファイルが書くことができます。これはisWritable()方法で判断できます。FileSystem Resourceは、対応するリソースファイルの出力ストリームを外部に開放しており、getOutputStream()方式で取得することができる。
UrlResourceは、URLに対応するリソースを表すために使用され、URLに簡単にパッケージ化されています。
ByteArayResourceは、バイト配列のパッケージに対するリソースであり、その構築にはバイト配列が必要である。
ServletContect ResourceはServlet Contectパッケージに対するリソースであり、Servlet Contect環境下のリソースにアクセスするために使用される。
InputStreamResourceは、入力ストリームのパッケージ化に対するリソースであり、その構築には入力ストリームが必要である。
SpringConfig.java配置類
説明
spring-mybatis文書は読みます。http://mybatis.org/spring/zh/index.html
spring-mybatis xml配置
spring-mybatis java配置
技術まとめ:spring-mybaits配置https://blog.csdn.net/qq_40674583/articale/detail/10332196
随筆
dataSource
Sql Session FactoryBen基本的なMyBatisの使い方では、
SqlSessionFactoryBuilder
によってSqlSessionFactory
を作成する。MyBatis-pringでは、SqlSessionFactoryBean
を使用して作成される。
属性SqlSessionFactory
には、JDBC用のDataSource
という一意の必要性がある。これは任意のDataSource
オブジェクトであってもよく、その構成方法は他のSpringデータベース接続と同じである。configLocation
である。一般的に、基礎構成は
要素を指しており、この構成ファイルは完全なMyBatis構成である必要はないことに注意が必要である。
自動スキャンMapper
mybatisのSql Sessionを使う必要があれば
自動スキャンですか?香りがよくないですか?Sql Sessionでmapperを取りに行きます。Sql Session DaoSupportを使う
public class UserDaoImpl extends SqlSessionDaoSupport implements UserDao {
public User getUser(String userId) {
return getSqlSession().selectOne("org.mybatis.spring.sample.mapper.UserMapper.getUser", userId);
}
}
コメントの設定を使うテスト
Maven依存
org.springframework
spring-test
5.0.2.RELEASE
@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(locations = "classpath:applicationContext.xml")
@ContextConfiguration(classes = SimpleConfiguration.class)
, {}
@ContextConfiguration(locations = { "classpath*:/spring1.xml", "classpath*:/spring2.xml" })
設定パラメータの導入@PropertySource({"classpath:teacher.properties"}) // ,
@ConfigurationProperties(prifix=“teacher”) // teacher JavaBean
Resourceサブクラスクラスパスのリソースファイルを取得するために使用できます。
FileSystem Resourceはファイルシステム内のリソースを取得するために使用できます。FileSystemResourceはまた、対応するリソースファイルに内容を書き込むことができます。もちろん前提は現在のリソースファイルが書くことができます。これはisWritable()方法で判断できます。FileSystem Resourceは、対応するリソースファイルの出力ストリームを外部に開放しており、getOutputStream()方式で取得することができる。
UrlResourceは、URLに対応するリソースを表すために使用され、URLに簡単にパッケージ化されています。
ByteArayResourceは、バイト配列のパッケージに対するリソースであり、その構築にはバイト配列が必要である。
ServletContect ResourceはServlet Contectパッケージに対するリソースであり、Servlet Contect環境下のリソースにアクセスするために使用される。
InputStreamResourceは、入力ストリームのパッケージ化に対するリソースであり、その構築には入力ストリームが必要である。
SpringConfig.java配置類
package chang.config;
import com.alibaba.druid.pool.DruidDataSource;
import org.apache.ibatis.session.SqlSessionFactory;
import org.mybatis.spring.SqlSessionFactoryBean;
import org.mybatis.spring.annotation.MapperScan;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.context.annotation.PropertySource;
import org.springframework.core.io.ClassPathResource;
import javax.sql.DataSource;
@Configuration
@MapperScan("chang.mapper")
@PropertySource(value= {"classpath:db.properties"}, ignoreResourceNotFound = true) // jdbc
public class SpringConfig {
@Value("${url}")
private String url;
@Value("${driver}")
private String driver;
@Value("${user}")
private String user;
@Value("${password}")
private String password;
@Bean(destroyMethod = "close",initMethod = "init")
public DataSource dataSource() {
DruidDataSource druidDataSource = new DruidDataSource();
druidDataSource.setDriverClassName(driver);
druidDataSource.setUrl(url);
druidDataSource.setUsername(user);
druidDataSource.setPassword(password);
/* 、 、 */
druidDataSource.setInitialSize(1);
druidDataSource.setMinIdle(1);
druidDataSource.setMaxActive(10);
/* */
druidDataSource.setMaxWait(10000L);
/* , , */
druidDataSource.setTimeBetweenEvictionRunsMillis(60000L);
/* , */
druidDataSource.setMinEvictableIdleTimeMillis(300000L);
/*
*/
return druidDataSource;
}
@Bean
public SqlSessionFactory sqlSessionFactory() throws Exception {
SqlSessionFactoryBean factoryBean = new SqlSessionFactoryBean();
factoryBean.setDataSource(dataSource());
factoryBean.setConfigLocation(new ClassPathResource("mybatis-config.xml"));
return factoryBean.getObject();
}
}
テストクラスpackage chang.mapper;
import chang.config.SpringConfig;
import chang.pojo.User;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.test.context.ContextConfiguration;
import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(classes = SpringConfig.class)
public class UserMapperTest {
@Autowired
private UserMapper userMapper;
@Test
public void javaConfig_findOneByXh(){
User user = userMapper.findOneByXh("20177583");
System.out.println(user);
}
}