本节目的:
1. 原理介绍
2. 实例
-------------------------------------------------------分割线------------------------------------------------
1.原理介绍:
(1)在这里重点介绍一个DriverManagerDataSource类,该类主要就是装配数据库基本配置,里面有属性:
DriverClassName/Url/username/password 关于这四个属性介绍,参见前面mysql数据库连接实例。
(2)再者使用的就是关于java自动装配过程,参见前面-spring学习笔记(4)
2. 实介绍
(1)创建mysql数据库test,建立表tb_user
(2)java装配基本配置
import java.sql.SQLException;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.jdbc.core.JdbcTemplate;
import org.springframework.jdbc.datasource.DriverManagerDataSource;
@Configuration
public class DBConfig {
@Bean(name="TestMysql")
public JdbcTemplate getMysqlTemplate() throws SQLException{
DriverManagerDataSource source = new DriverManagerDataSource();
source.setDriverClassName("com.mysql.jdbc.Driver");
source.setUrl("jdbc:mysql://localhost:3306/test");
source.setUsername("root");
source.setPassword("root");
return new JdbcTemplate(source);
}
}
(3)测试执行sql语句
public class TestSQl {
@Test
public void Testsql(){
@SuppressWarnings("resource")
AnnotationConfigApplicationContext ct = new AnnotationConfigApplicationContext(DBConfig.class);
JdbcTemplate jdbcTemplate = (JdbcTemplate) ct.getBean("TestMysql");
String sql = "select * from tb_user";
final List<Result> results = new ArrayList<Result>();//在内部匿名类中使用
jdbcTemplate.query(sql, new RowCallbackHandler() {
@Override
public void processRow(ResultSet rs) throws SQLException {
// TODO Auto-generated method stub
Result result = new Result();
result.setUsername(rs.getString("username"));
result.setPassword(rs.getString("password"));
result.setEmail(rs.getString("email"));
results.add(result);
}
});
for (int i = 0; i < results.size(); i++) {
System.out.println(results.get(i).getUsername() + ", " + results.get(i).getPassword());
}
}
当中涉及的Result类:
public class Result {
private String username;
private String password;
private String sex;
private String question;
private String answer;
private String email;
public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
public String getSex() {
return sex;
}
public void setSex(String sex) {
this.sex = sex;
}
public String getQuestion() {
return question;
}
public void setQuestion(String question) {
this.question = question;
}
public String getAnswer() {
return answer;
}
public void setAnswer(String answer) {
this.answer = answer;
}
public String getEmail() {
return email;
}
public void setEmail(String email) {
this.email = email;
}
}
执行结果: