J:\java资料全套\基础+就业\Spring框架2016版视频\day03视频\08-jdbcTemplate实现crud操作(查询list集合).java

使用 eclipse 




-- 02-基于aspecj的注解aop操作 


hyjky       将配置文件方式实现改为注解方式实现 




  创建动态网站 : spring_day03_aop 选择 2.5 
  
  package cn.itcast.aop;


public class Book {


public void add() {
System.out.println("add.............");
}
}




--
package cn.itcast.aop;


import org.aspectj.lang.annotation.Aspect;
import org.aspectj.lang.annotation.Before;


@Aspect
public class MyBook {


//在方法上面使用注解完成增强配置
@Before(value="execution(* cn.itcast.aop.Book.*(..))")
public void before1() {
System.out.println("before..............");
}
}


  
-- D:\project_java\none_02\spring_day03_aop\src\bean3.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"
    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/aop http://www.springframework.org/schema/aop/spring-aop.xsd">

<!-- 开启aop操作 -->
<aop:aspectj-autoproxy></aop:aspectj-autoproxy>

<!-- 1  配置对象 -->
<bean id="book" class="cn.itcast.aop.Book"></bean>
<bean id="myBookX" class="cn.itcast.aop.MyBook"></bean>

</beans>


--
package cn.itcast.aop;


import org.junit.Test;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;


public class TestAop {


@Test
public void testDemo() {
ApplicationContext context = 
new ClassPathXmlApplicationContext("bean3.xml");
Book book = (Book) context.getBean("book");
book.add();
}
}




 
-- 03-jdbcTemplate实现crud操作(添加操作)  


 spring 一栈操作 在dao 中 用  jdbcTemplate 


package cn.itcast.jdbc;


import org.junit.Test;
import org.springframework.jdbc.core.JdbcTemplate;
import org.springframework.jdbc.datasource.DriverManagerDataSource;


public class JdbcTemplateDemo1 {



// 1 添加操作
@Test
public void add() {
// 设置数据库信息
DriverManagerDataSource dataSource = new DriverManagerDataSource();
dataSource.setDriverClassName("com.mysql.jdbc.Driver");
dataSource.setUrl("jdbc:mysql:///spring_day03");
dataSource.setUsername("root");
dataSource.setPassword("1");


// 创建jdbcTemplate对象,设置数据源
JdbcTemplate jdbcTemplate = new JdbcTemplate(dataSource);


// 调用jdbcTemplate对象里面的方法实现操作
//创建sql语句
String sql = "insert into user values(?,?)";
int rows = jdbcTemplate.update(sql, "lucy","250");
System.out.println(rows);
}
}






--  04-jdbcTemplate实现crud操作(修改和删除操作) 


package cn.itcast.jdbc;


public class User {


private String username;
private String password;
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 "User [username=" + username + ", password=" + password + "]";
}

}
-- 


package cn.itcast.jdbc;


import org.junit.Test;
import org.springframework.jdbc.core.JdbcTemplate;
import org.springframework.jdbc.datasource.DriverManagerDataSource;


public class JdbcTemplateDemo1 {


//2 修改操作
@Test
public void update() {
//设置数据库信息
DriverManagerDataSource dataSource = new DriverManagerDataSource();
dataSource.setDriverClassName("com.mysql.jdbc.Driver");
dataSource.setUrl("jdbc:mysql:///spring_day03");
dataSource.setUsername("root");
dataSource.setPassword("root");

//创建jdbcTemplate对象
JdbcTemplate jdbcTemplate = new JdbcTemplate(dataSource);

//调用jdbcTemplate里面的方法实现 update方法
String sql = "update user set password=? where username=?";
int rows = jdbcTemplate.update(sql, "1314","lucy");
System.out.println(rows);
}


}






-- 05-jdbcTemplate实现crud操作(查询介绍) 








package cn.itcast.jdbc;


import org.junit.Test;
import org.springframework.jdbc.core.JdbcTemplate;
import org.springframework.jdbc.datasource.DriverManagerDataSource;


public class JdbcTemplateDemo1 {

/*
* QueryRunner runner = new QueryRuner(datasource);
* 返回对象
* runner.query(sql,new BeanHandler<User>(User.class));

* 返回list集合
* runner.query(sql,new BeanListHander<User>(User.class))

* 1 在dbutils时候,有接口 ResultSetHandler
* dbutils提供了针对不同的结果实现类

* 2 jdbcTemplate实现查询,有接口 RowMapper,
* jdbcTemplate针对这个接口没有提供实现类,得到不同的类型数据需要自己进行数据封装

* */

//3 删除操作
//2 删除操作
@Test
public void delete() {
//设置数据库信息
DriverManagerDataSource dataSource = new DriverManagerDataSource();
dataSource.setDriverClassName("com.mysql.jdbc.Driver");
dataSource.setUrl("jdbc:mysql:///spring_day03");
dataSource.setUsername("root");
dataSource.setPassword("root");

//创建jdbcTemplate对象
JdbcTemplate jdbcTemplate = new JdbcTemplate(dataSource);

//调用update方法实现删除
String sql = "delete from user where username=?";
int rows = jdbcTemplate.update(sql, "lucy");
System.out.println(rows);
}


}




-- 06-jdbcTemplate实现crud操作(查询某个值和jdbc实现) 
package cn.itcast.jdbc;


import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.List;


import org.junit.Test;
import org.springframework.jdbc.core.JdbcTemplate;
import org.springframework.jdbc.core.RowMapper;
import org.springframework.jdbc.datasource.DriverManagerDataSource;


import com.mchange.v2.c3p0.ComboPooledDataSource;


public class JdbcTemplateDemo2 {

//1 查询表有多少条记录
@Test
public void testCount() {
//设置数据库信息
DriverManagerDataSource dataSource = new DriverManagerDataSource();
dataSource.setDriverClassName("com.mysql.jdbc.Driver");
dataSource.setUrl("jdbc:mysql:///spring_day03");
dataSource.setUsername("root");
dataSource.setPassword("1");

//创建jdbcTemplate对象
JdbcTemplate jdbcTemplate = new JdbcTemplate(dataSource);

//调用方法得到记录数
String sql = "select count(*) from user";
//调用jdbcTemplate的方法
int count = jdbcTemplate.queryForObject(sql, Integer.class);
System.out.println(count);
}
//2 jdbc实现代码
@Test
public void testJDBC() {
Connection conn = null;
PreparedStatement psmt = null;
ResultSet rs = null;
//加载驱动
try {
Class.forName("com.mysql.jdbc.Driver");
//创建连接
conn = DriverManager.getConnection("jdbc:mysql:///spring_day03", "root", "root");
//编写sql语句
String sql = "select * from user where username=?";
//预编译sql
psmt = conn.prepareStatement(sql);
//设置参数值
psmt.setString(1, "lucy");
//执行sql
rs = psmt.executeQuery();
//遍历结果集
while(rs.next()) {
//得到返回结果值
String username = rs.getString("username");
String password = rs.getString("password");
//放到user对象里面
User user = new User();
user.setUsername(username);
user.setPassword(password);

System.out.println(user);
}

} catch (Exception e) {
e.printStackTrace();
} finally {
try {
rs.close();
psmt.close();
conn.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
}


}




-- 07-jdbcTemplate实现crud操作(查询对象) 
--   Spring 中的 RowMapper  http://blog.csdn.net/yajunren/article/details/10103035   如果sping与hibernate 相结合了,基本上是用不到,大多数都是在spring单独使用时用到. 




package cn.itcast.jdbc;


import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.List;


import org.junit.Test;
import org.springframework.jdbc.core.JdbcTemplate;
import org.springframework.jdbc.core.RowMapper;
import org.springframework.jdbc.datasource.DriverManagerDataSource;


import com.mchange.v2.c3p0.ComboPooledDataSource;


public class JdbcTemplateDemo2 {


//3 查询返回对象
@Test
public void testObject() {
//设置数据库信息
DriverManagerDataSource dataSource = new DriverManagerDataSource();
dataSource.setDriverClassName("com.mysql.jdbc.Driver");
dataSource.setUrl("jdbc:mysql:///spring_day03");
dataSource.setUsername("root");
dataSource.setPassword("1");

//创建jdbcTemplate对象
JdbcTemplate jdbcTemplate = new JdbcTemplate(dataSource);

//写sql语句,根据username查询
String sql = "select * from user where username=?";
//调用jdbcTemplate的方法实现
//第二个参数是接口 RowMapper,需要自己写类实现接口,自己做数据封装
User user = jdbcTemplate.queryForObject(sql, new MyRowMapper(), "mary");
System.out.println(user);
}

//4 查询返回对象
@Test
public void testList() {

// ComboPooledDataSource dataSource = new ComboPooledDataSource();
// dataSource.setDriverClass("com.mysql.jdbc.Driver");
// dataSource.setJdbcUrl("jdbc:mysql:///spring_day03");
// dataSource.setUser("root");
// dataSource.setPassword("root");

//设置数据库信息
DriverManagerDataSource dataSource = new DriverManagerDataSource();
dataSource.setDriverClassName("com.mysql.jdbc.Driver");
dataSource.setUrl("jdbc:mysql:///spring_day03");
dataSource.setUsername("root");
dataSource.setPassword("root");

//创建jdbcTemplate对象
JdbcTemplate jdbcTemplate = new JdbcTemplate(dataSource);

//写sql语句
String sql = "select * from user";
//调用jdbcTemplate的方法实现
List<User> list = jdbcTemplate.query(sql,new MyRowMapper());

System.out.println(list);

}
}




class MyRowMapper implements RowMapper<User> {


@Override
public User mapRow(ResultSet rs, int num) throws SQLException {
// 1 从结果集里面把数据得到
String username = rs.getString("username");
String password = rs.getString("password");

// 2 把得到数据封装到对象里面
User user = new User();
user.setUsername(username);
user.setPassword(password);

return user;
}

}




-- 08-jdbcTemplate实现crud操作(查询list集合)

package cn.itcast.jdbc;


import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.List;


import org.junit.Test;
import org.springframework.jdbc.core.JdbcTemplate;
import org.springframework.jdbc.core.RowMapper;
import org.springframework.jdbc.datasource.DriverManagerDataSource;


import com.mchange.v2.c3p0.ComboPooledDataSource;


public class JdbcTemplateDemo2 {

//4 查询返回对象
@Test
public void testList() {

// ComboPooledDataSource dataSource = new ComboPooledDataSource();
// dataSource.setDriverClass("com.mysql.jdbc.Driver");
// dataSource.setJdbcUrl("jdbc:mysql:///spring_day03");
// dataSource.setUser("root");
// dataSource.setPassword("root");

//设置数据库信息
DriverManagerDataSource dataSource = new DriverManagerDataSource();
dataSource.setDriverClassName("com.mysql.jdbc.Driver");
dataSource.setUrl("jdbc:mysql:///spring_day03");
dataSource.setUsername("root");
dataSource.setPassword("1");

//创建jdbcTemplate对象
JdbcTemplate jdbcTemplate = new JdbcTemplate(dataSource);

//写sql语句
String sql = "select * from user";
//调用jdbcTemplate的方法实现
List<User> list = jdbcTemplate.query(sql,new MyRowMapper());

System.out.println(list);

}
}




class MyRowMapper implements RowMapper<User> {


@Override
public User mapRow(ResultSet rs, int num) throws SQLException {
// 1 从结果集里面把数据得到
String username = rs.getString("username");
String password = rs.getString("password");

// 2 把得到数据封装到对象里面
User user = new User();
user.setUsername(username);
user.setPassword(password);

return user;
}

}




























  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值