Spring 与jdbc加载一起
先加载包 dbcb连接池等
xml文件:datasource,与dbcp连接池链接,然后jdbctmplate,相当于connection,在后面数据层使用,service层引入dao层对象
<bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close">
<property name="driverClassName" value="${jdbc.driver}"/>
<property name="url" value="${jdbc.url}"/>
<property name="username" value="${jdbc.username}"/>
<property name="password" value="${jdbc.password}"/>
</bean>
<context:property-placeholder location="jdbc.properties"/>
<bean id="jdbcTemplate" class="org.springframework.jdbc.core.JdbcTemplate">
<property name="dataSource" ref="dataSource"></property>
</bean>
<bean id="userDao" class="com.cai.dao.impl.UserDaoImpl">
<property name="jdbcTemplate" ref="jdbcTemplate"></property>
</bean>
<bean id="userService" class="com.cai.service.impl.UserServiceImpl">
<property name="userDao" ref="userDao"></property>
</bean>
public class UserDaoImpl implements UserDao {
private JdbcTemplate jdbcTemplate;
public void setJdbcTemplate(JdbcTemplate jdbcTemplate) {
this.jdbcTemplate = jdbcTemplate;
}
@Override
public List<User> login() {
String sql="select * from stu";
final List<User> stu=new ArrayList<User>();
jdbcTemplate.query(sql, new RowCallbackHandler() {
@Override
public void processRow(ResultSet rs) throws SQLException {
User user=new User();
user.setId(rs.getInt("id"));
user.setUsername(rs.getString("username"));
user.setPassword(rs.getString("password"));
stu.add(user);
}
});
return stu;
}
@Override
public int add(User user) {
String sql="insert into stu values(?,?,?)";
Object[] para=new Object[]{user.getId(),user.getUsername(),user.getPassword()};
return jdbcTemplate.update(sql,para);
}
@Override
public int delete(User user) {
String sql="delete from stu where id=?";
Object[] para=new Object[]{user.getId()};
return jdbcTemplate.update(sql,para);
}
@Override
public int update(User user) {
String sql="update stu set username=? where id=?";
Object[] para=new Object[]{user.getUsername(),user.getId()};
return jdbcTemplate.update(sql,para);
}
}
test:
public class Test {
ApplicationContext ac = new ClassPathXmlApplicationContext("applicationContext.xml");
public static void main(String[] args) {
}
@org.junit.Test
public void delete() {
UserService userService = (UserService) ac.getBean("userService");
int num = userService.delete(new User(4,"cai", "123"));
if (num == 1) {
System.out.println("删除成功");
}
}
@org.junit.Test
public void update() {
UserService userService = (UserService) ac.getBean("userService");
int num = userService.update(new User(3,"cai"));
if (num == 1) {
System.out.println("更新成功");
}
}
@org.junit.Test
public void select() {
UserService userService = (UserService) ac.getBean("userService");
System.out.println(userService.login());
}