前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Spring中用Oracle

Spring中用Oracle

作者头像
酒楼
发布2024-01-03 10:52:20
970
发布2024-01-03 10:52:20
举报
文章被收录于专栏:酒楼酒楼

1.Oracle+mybatis

2.从.properties配置文件到SqlSessionTemplate模板的建立

(1)jdbc.properties
代码语言:javascript
复制
jdbc.driverClassName = oracle.jdbc.driver.OracleDriver
jdbc.url = jdbc:oracle:thin:xxxxxx
jdbc.username = xxxx
jdbc.password = xxxx
(2) pom.xml添加依赖
代码语言:javascript
复制
<dependency>
	<groupId>com.oracle</groupId>
    <artifactId>ojdbc6</artifactId>
    <version>11.2.0.3</version>
</dependency>
<dependency>
	<groupId>org.mybatis</groupId>
    <artifactId>mybatis</artifactId>
    <version>3.4.1</version>
</dependency>
<dependency>
	<groupId>org.mybatis</groupId>
    <artifactId>mybatis-spring</artifactId>
    <version>1.3.0</version>
</dependency>
(3)Spring配置类
代码语言:javascript
复制
@Configuration
@PropertySource({"classpath:config.properties"})
@ComponentScan(basePackages = {"com.xxx.xx"})
@MapperScan(value = {"xxxxx","xxxxxxx"})
public class SpringConfig{
    
    @Bean
    public DataSource dataSource(Environment env){
        DriverManagerDataSource dataSource = new DriverManagerDataSource();
        dataSource.setDriverClassName(env.getProperty("jdbc.dirverClassName"));
        dataSource.setUrl(env.getProperty("jdbc.url"));
        dataSource.setUsername(env.getProperty("jdbc.username"));
        dataSource.setPassword(env.getProperty("jdbc.password"));
        return dataSource;
    }
    
    @Bean
    public SqlSessionFactoryBean sqlSessionFactory(DataSource dataSource) thrwos IOException{
        SqlSessionFactoryBean sqlSessionFactory = new SqlSessionFactoryBean();
        sqlSessionFactory.setDataSource(dataSource);
        sqlSessionFactory.setConfigLocation(
        	new PathMatchingResourcePatternResolver().getResource("classpath:mapper/configuration.xml"));
        sqlSessionFactory.setMapperLocations(
        	new PathMatchingResourcePatternResolver().getResource("classpath:mapper/*Mapper*.xml"));
        return sqlSessionFactory;
    }
    
    @Bean
    public SqlSessionTemplate sessionTemplate(SqlSessionFactory sqlSessionFactory){
        return new SqlSessionTemplate(sqlSessionFactory);
    }
    
    @Bean
    public JdbcTemplateFactory jdbcTemplateFactory(SqlSessionTemplate sqlSessionTemplate){
        JdbcTemplateFactory instance = JdbcTemplateFacotry.getInstance();
        instance.setSessionTemplate(sqlSessionTemplate);
        return instance;
    }
}
4.testMapper.xml
代码语言:javascript
复制
<mapper namespace="xx.xx.xx.xx">
	<requestMap type="xx.xx.xx.xx.xxClass" id="map1">
    	<id column="XX_KEY" property="xxkey" />
        <result column="XXX_DATA1" property="xxxdata1" />
        <result column="XXX_DATA2" property="xxxdata2" />
    </requestMap>
	
    <select id="queryByxxxx" parameterType="String" resultMap="map1">
    	SELECT * FROM XXX WHERE XX_DATA1= #{xxxdata1}
    </select>
    
    <update id="updateByxxx" parameterType="mapxx">
    	UPDATE XXX SET DATA1=#{},DATA2=#{}
    </update>
</mapper>

3.用SqlSessionTemplate来实现dao层

String类型的key值——os加密——Long类型——toString

statement对应mapper.xml

代码语言:javascript
复制
@Resource(name = "sessionTemplate")
private transient SqlSessionTemplate template;

public xx query(String statement,String key){
   try{
       SqlSession session = template.getSqlSessionFactory().openSession();
	   xx = session.selectOne(statement,key);
       xx = session.update(statement,param);
   }catch(Exception e){
       ...
   }finally{
       session.close();
   }
   return xx;
}
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2024-01-02,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1.Oracle+mybatis
    • 2.从.properties配置文件到SqlSessionTemplate模板的建立
    • 3.用SqlSessionTemplate来实现dao层
    领券
    问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档