您的位置:首页 > 编程语言 > Java开发

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

2017-12-22 14:35 811 查看
使用 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 dataSour
e0b2
ce = 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;
}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐