发表于: 2020-01-06 00:49:42

1 1042


    jdbcTemplate 连接数据库


Spring 配置:

<?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="url" value="jdbc:mysql:///school"/>
<property name="username" value="root"/>
<property name="password" value="mogeek666"/>

</bean>

<bean id="jdbcTemplate" class="org.springframework.jdbc.core.JdbcTemplate">
<property name="dataSource" ref="dataSource"/>
</bean>

<bean id="discipleDAO" class="cn.mogeek.dao.DiscipleDaoSpringJdbcImpl">
<property name="jdbcTemplate" ref="jdbcTemplate"/>
</bean>
</beans>


SpringJDBC 版 dao 的实现:

package cn.mogeek.dao;

import cn.mogeek.domain.Disciple;
import org.springframework.jdbc.core.JdbcTemplate;
import org.springframework.jdbc.core.RowCallbackHandler;

import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.List;

public class DiscipleDaoSpringJdbcImpl implements DiscipleDao {

private JdbcTemplate jdbcTemplate = null;

public JdbcTemplate getJdbcTemplate() {
return jdbcTemplate;
}

public void setJdbcTemplate(JdbcTemplate jdbcTemplate) {
this.jdbcTemplate = jdbcTemplate;
}

@Override
   public List<Disciple> query() {
final List<Disciple> discipleList = new ArrayList<Disciple>();
String sql = "select * from jnshu_copy1";

jdbcTemplate.query(sql, new RowCallbackHandler() {
@Override
           public void processRow(ResultSet rs) throws SQLException {
int id = rs.getInt("id");
int qq = rs.getInt("qq");
String name = rs.getString("name");
String object = rs.getString("object");
String graduated_school = rs.getString("graduated_school");
String brother = rs.getString("brother");
String from = rs.getString("comefrom");
String daily_report = rs.getString("daily_report");
String aims = rs.getString("aims");

Disciple disciple = new Disciple();
disciple.setAims(aims);
disciple.setId(id);
disciple.setBrother(brother);
disciple.setDaily_report(daily_report);
disciple.setFrom(from);
disciple.setName(name);
disciple.setObject(object);
disciple.setQq(qq);

discipleList.add(disciple);
}
});
return discipleList;
}

@Override
   public void save(Disciple disciple) {
String sql = "insert into jnshu_copy1(id, qq, name, object, graduated_school, brother, comefrom, daily_report, aims) " +
"values (?, ?, ?, ?, ?, ?, ?, ?, ?)";

jdbcTemplate.update(sql, new Object[]{disciple.getId(), disciple.getQq(), disciple.getName(),
disciple.getObject(), disciple.getGraduated_school(), disciple.getBrother(), disciple.getFrom(),
disciple.getDaily_report(), disciple.getAims()});
}
}


测试类:

package cn.mogeek.dao;

import cn.mogeek.domain.Disciple;
import org.junit.After;
import org.junit.Assert;
import org.junit.Before;
import org.junit.Test;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;

import javax.sql.DataSource;
import java.util.List;

public class DiscipleDaoSpringJDBCImplTest {

private ApplicationContext ctx = null;
private DiscipleDao discipleSpringDao = null;

@Before
   public void setup(){
ctx = new ClassPathXmlApplicationContext("beans.xml");
discipleSpringDao = (DiscipleDao)ctx.getBean("discipleDAO");
}

@After
   public void teardown(){
ctx = null;
}

@Test
   public void testDiscipleDaoSpringJDBCImpl(){
List<Disciple> disciples = discipleSpringDao.query();

for (Disciple disciple : disciples) {
System.out.println("id: " + disciple.getId()
+ ", name: " + disciple.getName()
+ ", object: " + disciple.getObject()
+ ", aims: " + disciple.getAims()
+ ", qq: " + disciple.getQq()
+ ", brother: " + disciple.getBrother()
+ ", from: " + disciple.getFrom()
+ ", daily_report: " + disciple.getDaily_report()
+ ", graduated_school: " + disciple.getGraduated_school()
);
}
}

@Test
   public void testSave(){
Disciple disciple = new Disciple();
disciple.setId(8886);
disciple.setQq(666666);
disciple.setObject("后端工程师");
disciple.setName("暗灭-Spring");
disciple.setFrom("大明湖畔");
disciple.setDaily_report("https://www.zhihu.com/people/ptteng/activities");
disciple.setBrother("不知道");
disciple.setAims("帅就完事了");
disciple.setGraduated_school("郑州大学");
discipleSpringDao.save(disciple);
}
}


testSave 测试结果:


testDiscipleDaoSpringJDBCImpl 测试结果:


明天的计划:

1.关于内部类怎么写我还不太清楚,明天看看这方面的基础。

2.Spring 中的 beans.xml 注入确实挺有意思的,明天了解一下是怎么实现的。

3.Mybatis连接数据库。


前几天确实忙,现在家里有事还没办完。调整节奏,规划时间,继续做任务。


返回列表 返回列表
评论

    分享到