spring学习笔记SpringJdbc
来源:互联网 发布:ant打包java配置文件 编辑:程序博客网 时间:2024/06/06 19:18
SpringJdbcTest_applicationContext.xml
package com.lin.test.jdbc;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.List;
import javax.annotation.Resource;
import javax.sql.DataSource;
import org.apache.commons.lang3.builder.ReflectionToStringBuilder;
import org.junit.Test;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
import org.springframework.jdbc.core.JdbcTemplate;
import org.springframework.jdbc.core.RowMapper;
/*******************************************************************************
* SpringJdbcTest.java Created on 2014年7月24日
* Author: linfenliang
* Description:
* Version: 1.0
******************************************************************************/
public class SpringJdbcTest {
@Test
public void testName() throws Exception {
ApplicationContext context = new ClassPathXmlApplicationContext("SpringJdbcTest_applicationContext.xml");
UsersDao dao = (UsersDao) context.getBean("usersDao");
//Users u = dao.query(1);
//System.out.println(u);
//boolean b = dao.addUsers(u);
//System.out.println(b);
List<Users> list = dao.queryAll();
for(Users u:list){
System.out.println(u);
}
}
}
interface UsersDao{
Users query(int id);
boolean addUsers(Users u);
void updateUsers(Users id);
List<Users> queryAll();
}
class UsersDaoImpl implements UsersDao{
private JdbcTemplate jdbcTemp;
@Resource
public void setDataSource(DataSource dataSource) {
this.jdbcTemp = new JdbcTemplate(dataSource);
}
@Override
public Users query(int id) {
//Users u = null;
//Connection conn = null;
//PreparedStatement pstmt = null;
//ResultSet rs = null;
//try {
//conn = dataSource.getConnection();
//pstmt = conn.prepareStatement("select id , username, password from users where id = ?");
//pstmt.setInt(1, id);
//rs = pstmt.executeQuery();
//if(rs!=null){
//u = new Users();
//if(rs.next()){
//u.setId(rs.getInt("id"));
//u.setUsername(rs.getString("username"));
//u.setPassword(rs.getString("password"));
//}
//}
//} catch (SQLException e) {
//// TODO Auto-generated catch block
//e.printStackTrace();
//}finally{
//close(rs,pstmt,conn);
//}
//return u;
RowMapper<Users> rowMapper=new RowMapper<Users>() {
@Override
public Users mapRow(ResultSet rs, int rowNum) throws SQLException {
Users u = new Users();
u.setId(rs.getInt(1));
u.setUsername(rs.getString(2));
u.setPassword(rs.getString(3));
return u;
}
};
return jdbcTemp.queryForObject("select id , username, password from users where id = ?",new Object[]{id},new int[]{java.sql.Types.INTEGER}, rowMapper);
}
@Override
public boolean addUsers(Users u) {
int rs = jdbcTemp.update("insert into users(username,password) values(?,?)", new Object[]{u.getUsername(),u.getPassword()}, new int[]{java.sql.Types.VARCHAR,java.sql.Types.VARCHAR});
return rs!=0;
}
@Override
public void updateUsers(Users id) {
}
private void close(ResultSet rs, PreparedStatement pstmt, Connection conn) {
if(rs!=null){
try {
rs.close();
} catch (SQLException e) {
}
}
if(pstmt!=null){
try {
pstmt.close();
} catch (SQLException e) {
}
}
if(conn!=null){
try {
conn.close();
} catch (SQLException e) {
}
}
}
@Override
public List<Users> queryAll() {
RowMapper<Users> rowMapper=new RowMapper<Users>() {
@Override
public Users mapRow(ResultSet rs, int rowNum) throws SQLException {
Users u = new Users();
u.setId(rs.getInt(1));
u.setUsername(rs.getString(2));
u.setPassword(rs.getString(3));
return u;
}
};
return jdbcTemp.query("select id , username, password from users ", rowMapper);
}
}
class Users{
private Integer id;
private String username;
private String password;
public Integer getId() {
return id;
}
public void setId(Integer id) {
this.id = id;
}
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;
}
@Override
public String toString() {
return ReflectionToStringBuilder.toString(this);
}
}
jdbc.properties<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:p="http://www.springframework.org/schema/p"
xmlns:context="http://www.springframework.org/schema/context"
xmlns:aop="http://www.springframework.org/schema/aop"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context.xsd
http://www.springframework.org/schema/aop
http://www.springframework.org/schema/aop/spring-aop.xsd">
<!-- 启用注解方式注入 -->
<context:annotation-config/>
<!-- 启用自动代理 -->
<aop:aspectj-autoproxy></aop:aspectj-autoproxy>
<!-- 注解扫描路径 -->
<context:component-scan base-package="com.lin.test.jdbc" />
<bean id="usersDao" class="com.lin.test.jdbc.UsersDaoImpl"></bean>
<!--
<bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close">
<property name="driverClassName" value="com.mysql.jdbc.Driver"></property>
<property name="url" value="jdbc:mysql://127.0.0.1:3306/test?useUnicode=true&characterEncoding=UTF-8"></property>
<property name="username" value="root"></property>
<property name="password" value="root"></property>
</bean>
-->
<!--
<bean class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
<property name="locations">
<value>classpath:jdbc.properties</value>
</property>
</bean>
-->
<context:property-placeholder location="jdbc.properties"/>
<bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close">
<property name="driverClassName" value="${jdbc.drivers}"></property>
<property name="url" value="${jdbc.url}"></property>
<property name="username" value="${jdbc.username}"></property>
<property name="password" value="${jdbc.password}"></property>
</bean>
<bean id="jdbcTemplate" class="org.springframework.jdbc.core.JdbcTemplate" p:dataSource-ref="dataSource" />
</beans>
jdbc.drivers=com.mysql.jdbc.Driver
jdbc.username=root
jdbc.password=root
jdbc.url=jdbc:mysql://127.0.0.1:3306/test?useUnicode=true&characterEncoding=UTF-8
- spring学习笔记SpringJdbc
- Spring学习笔记---8-SpringJDBC
- SpringJDBC 学习笔记
- springJDBC学习笔记和实例
- SpringMVC + Spring + SpringJDBC整合
- struts2/spring/springJDBC优缺点
- SpringMVC + Spring + SpringJDBC整合
- SpringMVC + Spring + SpringJDBC整合
- SpringMVC + Spring + SpringJDBC整合
- SpringMVC + Spring + SpringJDBC整合
- SpringMVC + Spring + SpringJDBC整合
- Spring4学习笔记-SpringJDBC基本操作(补充)
- spring jdbc SpringJDBC 完整案例
- SpringMVC +Spring+ SpringJDBC整合实例。
- SpringMVC+Spring+SpringJDBC整合配置
- SpringMVC +Spring+ SpringJDBC 整合 教程
- SpringJDBC
- SpringJDBC
- 打码软件的安装和配置
- 第三方开源库:下拉刷新和上拉加载更多:PullLoadMoreRecyclerView + CommonPullToRefresh + SpringView+。。。
- 【C#总结】--颗粒归仓
- 有效回文串
- spring学习笔记SpringAopAspect
- spring学习笔记SpringJdbc
- spring学习笔记cglib
- spring学习笔记注解(部分)
- spring学习笔记aopproxy
- spring学习笔记工厂模式
- iOS逆向 — 逆向微信,透视聊天背景
- maven在eclipse中自动化远程发布
- jQuery Mobile页面跳转后未加载JS解决办法
- 机器学习--Hoeffding Inequality--界定概率边界