码迷,mamicode.com
首页 > 数据库 > 详细

数据库查询

时间:2016-11-23 06:12:53      阅读:259      评论:0      收藏:0      [点我收藏+]

标签:pen   链接库   statement   修改   书籍   ble   int   connect   stat   

package net.jiaxiang.dao;

import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.ArrayList;
import java.util.List;
import net.jiaxiang.entity.Book;


public class ChaXunShuJu {
//【向表中插入数据==添加数据】
public int addList(Book b) throws ClassNotFoundException, SQLException{
LianJieKu ljk=new LianJieKu();//new实例化连接类
Connection cn=ljk.openonn();//调用链接库方法

String sql = "insert into tb_books(name,price,bookCount,author) values(?,?,?,?)";//添加图书信息的SQL语句
PreparedStatement ps=cn.prepareStatement(sql);// 获取PreparedStatement 占位符

ps.setString(1, b.getName());// 对SQL语句中的第1个参数赋值
ps.setDouble(2, b.getPrice());// 对SQL语句中的第2个参数赋值
ps.setInt(3,b.getBookCount());// 对SQL语句中的第3个参数赋值
ps.setString(4, b.getAuthor());// 对SQL语句中的第4个参数赋值

int row=ps.executeUpdate();// 执行更新操作,返回所影响的行数

return row;// 判断返回更新的是否更新成功
}


//【查询表中的所有数据】
public List<Book>listbook() throws ClassNotFoundException, SQLException{
List<Book> list=new ArrayList<Book>();//创建ArrayList列表
LianJieKu ljk=new LianJieKu();//new实例化连接类

//【方法一】
String sql="select * from tb_books";
/* Connection cn=ljk.openonn();//直接调用openonn方法返回数据库的链接。
PreparedStatement ps=cn.prepareStatement(sql);
ResultSet rs=ps.executeQuery();//结果集对象rest
*/

//【方法二】
Connection cn=ljk.openonn();//调用链接库方法
Statement st=cn.createStatement();//创建一个不带参数的方法 为一条Sql语句生成执行计划
ResultSet rs=st.executeQuery("select * from tb_books");//利用st执行语句,结果防到结果集.

while(rs.next()){//循环是每一条语句
Book bk=new Book();//实例化book对象
bk.setId(rs.getInt("id"));//对id属性赋值
bk.setName(rs.getString("name"));//对name属性赋值
bk.setPrice(rs.getDouble("price"));//对price属性赋值
bk.setBookCount(rs.getInt("bookCount"));//对bookCount属性赋值
bk.setAuthor(rs.getString("author"));//对author属性赋值
list.add(bk); //将图书信息添加到集合中

}
rs.close(); //关闭ResultSet
st.close(); //关闭Statement
cn.close(); //关闭Connection

return list; //返回列表参数

}
//【查询含不确定字段的数值】
public List<Book> ListbookString(String text) throws ClassNotFoundException, SQLException { //查询书籍名称含有a串的书籍 这里面可以是多行


List<Book> list=new ArrayList<Book>();//创建ArrayList列表
LianJieKu ljk=new LianJieKu();//new实例化连接类
Connection cn=ljk.openonn();//调用连接库方法
Statement st=cn.createStatement();//创建一个不带参数的方法 为一条Sql语句生成执行计划
//【这一句【可能是】在MYSQL】中使用的模糊查询 ResultSet rs=st.executeQuery("select * from tb_books where name like ‘%‘+" + textname + "+‘%‘"); //利用st执行语句,结果防到结果集.
// 【这表示着 是在SQL server】中的语句代码
// select * from tb_books where name like ‘%ps%‘
// select * from tb_books where name like ‘%‘+‘q‘+‘%‘

//【这一句【可能是】在SQL server】中使用的模糊查询 这里面不能进行【+号】进行连接 ‘%"+textname+"%‘符号要严格
ResultSet rs=st.executeQuery("select * from tb_books where name like ‘%"+text+"%‘");//利用st执行语句,结果防到结果集.
while(rs.next()){
Book bk=new Book();
bk.setId(rs.getInt("id"));
bk.setName(rs.getString("name"));
bk.setPrice(rs.getDouble("price"));
bk.setBookCount(rs.getInt("bookCount"));
bk.setAuthor(rs.getString("author"));
list.add(bk);
}
rs.close();
st.close();
cn.close();
return list;

}
//【查询ID号的数据】
public Book ListbookInt(int a) throws ClassNotFoundException, SQLException {//查询(输入的ID)编号书籍信息 这里面只能是一行
Book bk=new Book();
LianJieKu ljk=new LianJieKu();//new实例化连接类
Connection cn=ljk.openonn();//调用链接库方法
Statement st=cn.createStatement();//创建一个不带参数的方法 为一条Sql语句生成执行计划
ResultSet rs=st.executeQuery("select * from tb_books where id=" + a); //利用st执行语句,结果防到结果集.

if(rs.next()){
bk.setId(rs.getInt("id"));
bk.setName(rs.getString("name"));
bk.setPrice(rs.getDouble("price"));
bk.setBookCount(rs.getInt("bookCount"));
bk.setAuthor(rs.getString("author"));

}
rs.close();
st.close();
cn.close();
return bk;

}
//【修改数据】
public int XiuGaiList(Book b) throws ClassNotFoundException, SQLException{
LianJieKu ljk=new LianJieKu();//new实例化连接类
Connection cn=ljk.openonn();//调用链接库方法

String sql="update tb_books set name=?,price=?,bookCount=?,author=? where id=?";//更新数据条件是ID号
PreparedStatement ps=cn.prepareStatement(sql);// 获取PreparedStatement 占位符

ps.setString(1, b.getName());// 对SQL语句中的第1个参数赋值
ps.setDouble(2, b.getPrice());// 对SQL语句中的第2个参数赋值
ps.setInt(3,b.getBookCount());// 对SQL语句中的第3个参数赋值
ps.setString(4, b.getAuthor());// 对SQL语句中的第4个参数赋值
ps.setInt(5, b.getId());
int row=ps.executeUpdate();// 执行更新操作,返回所影响的行数 注意这里面是不能进行返回参数
ps.close(); //关闭PreparedStatement 占位符
cn.close(); //关闭Connection
return row;// 判断返回更新的是否更新成功 这里面进行返回的是无效的

}
//【删除数据方法三】 使用的是占位符,采用带参数的方法
public int ShanChuList(int id) throws ClassNotFoundException, SQLException{
LianJieKu ljk=new LianJieKu();//new实例化连接类
Connection cn=ljk.openonn();//调用链接库方法
String sql="delete from tb_books where id=?";//删除一行数据
PreparedStatement ps=cn.prepareStatement(sql);// 获取PreparedStatement 占位符

ps.setInt(1,id);// 对SQL语句中的第3个参数赋值

int row=ps.executeUpdate();// 执行更新操作,返回所影响的行数
ps.close(); //关闭PreparedStatement 占位符
cn.close(); //关闭Connection
return row;// 判断返回更新的是否更新成功
}
//【删除方法一】:这是直接采用 实体类进行传递参数 进行删除
public int DeleteList(Book book) throws ClassNotFoundException, SQLException{
LianJieKu ljk=new LianJieKu();//new实例化连接类
Connection cn=ljk.openonn();//调用链接库方法
String sql="delete from t_bl_canton_code where CTN_CODE="+book.getId();//删除传递过来的那一行数据
Statement st=cn.createStatement();//创建的是一个不带参数的的 方法
int row=st.executeUpdate(sql);// 执行更新操作,返回所影响的行数
st.close(); //关闭PreparedStatement 占位符
cn.close(); //关闭Connection
return row;// 判断返回更新的是否更新成功

}
//【删除方法二】采用传递过来的参数ID进行 删除
public int deleteList(long listID) throws ClassNotFoundException, SQLException{
LianJieKu ljk=new LianJieKu();//new实例化连接类
Connection cn=ljk.openonn();//调用链接库方法
String sql="delete from t_bl_canton_code where CTN_CODE="+listID;//删除传递过来的那一行数据
Statement st=cn.createStatement();//创建的是一个不带参数的的 方法
int row=st.executeUpdate(sql);// 执行更新操作,返回所影响的行数
st.close(); //关闭PreparedStatement 占位符
cn.close(); //关闭Connection
return row;// 判断返回更新的是否更新成功

}
}

数据库查询

标签:pen   链接库   statement   修改   书籍   ble   int   connect   stat   

原文地址:http://www.cnblogs.com/caidupingblogs/p/6091457.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!