spring框架一站式框架
在dao层,使用jdbcTemplate
增加
1.导入jdbcTemplate使用的jar包
Spring-jdbc
spring-tx
@Text
public void add(){
2.创建对象,设置数据库的信息
DriverManagerDataSource dataSource=new DriverManagerDataSource();
dataSource.setDriverClassName("com.mysql.jdbc.Driver");
dataSource.setUrl("jdbc:jdbc:mysql:///数据库的名称");
dataSource.setUsername("root");
dataSource.setPassword("");
3.创建jdbcTemplate对象,设置数据源
JdbcTemplate jdbcTemplate=new JdbcTemplate(dataSource);
4.调用jdbcTemplate对象里面的方法实现操作
String sql="insert into user values(?,?)";
int rows=jdbcTemplate.update(sql,"lucy","250");
System.out.println(rows);}
修改
@Text
public void update(){
2.创建对象,设置数据库的信息
DriverManagerDataSource dataSource=new DriverManagerDataSource();
dataSource.setDriverClassName("com.mysql.jdbc.Driver");
dataSource.setUrl("jdbc:jdbc:mysql:///数据库的名称");
dataSource.setUsername("root");
dataSource.setPassword("");
3.创建jdbcTemplate对象,设置数据源
JdbcTemplate jdbcTemplate=new JdbcTemplate(dataSource);
String sql="update user set Password=? where username=?";
int rows= jdbcTemplate.update(sql,"1314","lucy");
System.out.println(rows);
删除
@Text
public void delete(){
2.创建对象,设置数据库的信息
DriverManagerDataSource dataSource=new DriverManagerDataSource();
dataSource.setDriverClassName("com.mysql.jdbc.Driver");
dataSource.setUrl("jdbc:jdbc:mysql:///数据库的名称");
dataSource.setUsername("root");
dataSource.setPassword("");
3.创建jdbcTemplate对象,设置数据源
JdbcTemplate jdbcTemplate=new JdbcTemplate(dataSource);
String sql="delete from user where username=?";
int rows= jdbcTemplate.update(sql,"lucy");
System.out.println(rows);
查询表中有多少条记录
@Text
public void count(){
2.创建对象,设置数据库的信息
DriverManagerDataSource dataSource=new DriverManagerDataSource();
dataSource.setDriverClassName("com.mysql.jdbc.Driver");
dataSource.setUrl("jdbc:jdbc:mysql:///数据库的名称");
dataSource.setUsername("root");
dataSource.setPassword("");
3.创建jdbcTemplate对象,设置数据源
JdbcTemplate jdbcTemplate=new JdbcTemplate(dataSource);
String sql="select count(*) from user";
int count=jdbcTemplate.queryForObject(sql,Integer.class);
System.out.println(count);}
查询返回对象的操作
jdbc实现代码
@Test
public void testJdbc(){
Connection conn=null;
PreparedStatement psmt=null;
ResultSet rs=null;
加载驱动
try{
Class.forName("com.mysql.jdbc.Driver");
创建连接
conn=DriverManage.getConnestion("jdbc:mysql:///数据库的名称","root","");
编写sql语句
String sql="select * From user where username=?";
预编译sql
psmt=conn.PreparedStatement(sql);
设置参数值
psmt.setString(1,"lucy");
执行sql
rs=psmt.executeQuery();
遍历结果集
while(rs.next()){
String username=rs.getString("username");
String password=rs.getString("password");
User user=new User(); //先写一个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();
}
}
}
查询返回对象
@Text
public void count(){
2.创建对象,设置数据库的信息
DriverManagerDataSource dataSource=new DriverManagerDataSource();
dataSource.setDriverClassName("com.mysql.jdbc.Driver");
dataSource.setUrl("jdbc:jdbc:mysql:///数据库的名称");
dataSource.setUsername("root");
dataSource.setPassword("");
3.创建jdbcTemplate对象,设置数据源
JdbcTemplate jdbcTemplate=new JdbcTemplate(dataSource);
String sql="select * from user where username=?";
User user=jdbcTemplate.queryForObject(sql,new MyRowMapper(),"lucy") //三个参数 1.sql 2.RowMapper接口 3.可变参数
System.out.println(user);
注:在类外
class MyRowMapper implement 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;
}
}
查询List
@Text
public void List(){
2.创建对象,设置数据库的信息
DriverManagerDataSource dataSource=new DriverManagerDataSource();
dataSource.setDriverClassName("com.mysql.jdbc.Driver");
dataSource.setUrl("jdbc:jdbc:mysql:///数据库的名称");
dataSource.setUsername("root");
dataSource.setPassword("");
3.创建jdbcTemplate对象,设置数据源
JdbcTemplate jdbcTemplate=new JdbcTemplate(dataSource);
String sql="select * from user";
List<User> list=jdbcTemplate.query(sql,new MyRowMapper()) //三个参数 1.sql 2.RowMapper接口 3.可变参数
System.out.println(list);}