当前位置:Gxlcms > 数据库问题 > java学习之数据库操作 传统jdbc、springjdbc

java学习之数据库操作 传统jdbc、springjdbc

时间:2021-07-01 10:21:17 帮助过:4人阅读

分析:这种传统连接方式实现起来很简单,但是代码量相对较多,而且用完之后还要有手动释放资源的操作,相对的需要有很多重读代码。

2.srping jdbc方式

当然,首要任务是引入包,涉及的包有一点小多,所以首选maven来导入

<!--MySQL Driver-->
<dependency>
    <groupId>mysql</groupId>
    <artifactId>mysql-connector-java</artifactId>
    <version>5.1.38</version>
</dependency>

<!--spring-->
<dependency>
	<groupId>org.springframework</groupId>
	<artifactId>spring-jdbc</artifactId>
	<version>4.3.5.RELEASE</version>
</dependency>
<dependency>
	<groupId>org.springframework</groupId>
	<artifactId>spring-context</artifactId>
	<version>4.3.5.RELEASE</version>
</dependency>

 

 配置好之后就可以进行令人激动地链接数据库操作了

大致流程是首先通过框架里面的上下文机制获取jdbcTemplate(数据模板)对象,然后再通过jdbcTemplate对象进行curd操作:

1.上下文的xml配置beans.xml
<?xml version="1.0" encoding="UTF-8"?>

<beans xmlns="http://www.springframework.org/schema/beans"
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       xsi:schemaLocation="http://www.springframework.org/schema/beans
       http://www.springframework.org/schema/beans/spring-beans.xsd">

    <bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource">
        <property name="driverClassName" value="com.mysql.jdbc.Driver"/>
        <property name="username" value="root"/>
        <property name="password" value="root"/>
        <property name="url" value="jdbc:mysql:///spring_data"/>
    </bean>

    <bean id="jdbcTemplate" class="org.springframework.jdbc.core.JdbcTemplate">
        <property name="dataSource" ref="dataSource"/>
    </bean>
</beans>
 2.加载xml获取jdbcTemplate对象,实现curd
ctx = new ClassPathXmlApplicationContext("beans.xml");
jdbcTemplate = ctx.getBean(“jdbcTemplate”);
jdbcTemplate.query(sql, new RowCallbackHandler(){
  // 重写processRow 来实现自己的循环处理结果集
    @Override
    public void processRow(ResultSet rs) throws SQLException {
        int id = rs.getInt("id");
        String name = rs.getString("name");
    //do  sth
    }
});

 

 分析:这种方式虽然需要配置上下文,但是实现起来很容易,实现的代码就那么几行,看着效果不错,而且jdbcTemplate对象是已经实现的对象,我们只需要重写里面的processRow方法就可以实现。相比传统方式,这种方法精进了不少,也不用考虑释放资源。

然而这不是框架想要的全部,如果想要其他操作,比如分页操作,实现起来也不是很容易,所有的sql还需要自己写,也不是很方便啊,那么问题来了,有没有真正的“好”的方式来实现呢?下一篇将分析下spring实现curd以及其优点。

 

java学习之数据库操作 传统jdbc、springjdbc

标签:而且   exec   val   name   config   resource   red   load   oca   

人气教程排行