javaoop---jdbc 入门级别
来源:互联网 发布:核盾网络验证源码 编辑:程序博客网 时间:2024/04/25 02:58
1. 连接整个 数据库 的顺序 就是:
---- 加载 驱动类------------创建连接对象 ----------传送 sql语句 ----------处理结果-------
反射 里面的 功能(导入一个 jar包先) DriverManage类 有 一个 创建对象的 方法 String sql="insert into goods values('爽歪歪','瓶',2.5,100)";
class.forName( Connection sqlcon=DriverM.getCon(a,ab,bc); Statement stm=sqlcon.createStatement();
com.mic......SqlserverDriver); 需要 提供的 是 数据库的名字 ,账号,密码 int iline = stm.executeUpdate(sql); 普通的 插入,直接执行之后 返回一个 改变行数
String url="jdbc:sqlserver://localhost:1433;
DataBaseName=XT003";
String user="sa";
String password="123456";
1.如果 你需要 执行之后的 是一个 结果集
String sql="select * from goods";//编写查询sql语句
Statement stm=sqlcon.createStatement();
//第四步:执行查询语句并返回查询的结果集
ResultSet rst = stm.executeQuery(sql);
while(rst.next()){
int id = rst.getInt("id");
String gname=rst.getString("gname");
String gunit=rst.getString("gunit");
double gprice= rst.getDouble("gprice");
int icount=rst.getInt("icount");
System.out.println("编号:"+id+";名称:"+gname+";单位:"+gunit+";单价:"+gprice+";库存:"+icount);
}
3. 如果 说 : 你想 输入 变量 到 sql 语句,就需要用到
3.1 String sql="insert into goods values(?,?,?,?)";
Connection sqlcon=DriverManager.getConnection(url, user, password);
PreparedStatement pst = sqlcon.prepareStatement(sql);
// 一个一个赋值
p st.setString(1, "爽歪歪");
pst.setString(2, "桶");
pst.setDouble(3, 2.5);
pst.setInt(4, 100);
这个 不是查询的 结果集,于是 返回一个行数 int iline = pst.executeUpdate();
如果 是返回的 结果集 ,那么 还是 一样的
pst=sql.prepSta(sql语句);
Result rst= pst.executeQuery();
while(rst.next()){
你就直接写 数据库中 哪一行的 名字就行
rst.getObject("myName");
}
-----------------------------------------------------------------------------------------------------------------------------------------------------------------
但是 在实际中 ,由于 经常的使用到 这几个方法,所以 我们会打包 号, 直接调用代码如下
public class DBManager { 这一个 是数据库的 名字
private String url="jdbc:sqlserver://localhost:1433;DataBaseName=XT004";
private String user="sa";
private String password="123456";
private Connection sqlcon=null;
private PreparedStatement pst=null;
/**
* 获取链接对象
* @return
* @throws SQLException
*/
private Connection GetConnection() throws SQLException{
try {
Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
} catch (ClassNotFoundException e) {
e.printStackTrace();
}
return DriverManager.getConnection(url, user, password);
}
/**
* 执行insert,update,delete SQL语句
* @param sql
* @param objs
* @return
* @throws SQLException
*/
public int MyExecuteUpdate(String sql,Object ...objs) throws SQLException{
sqlcon=GetConnection();
pst=sqlcon.prepareStatement(sql);
if(objs!=null){
if(objs.length>0){
int idx=1;
for(Object obj : objs){
pst.setObject(idx, obj);
idx++;
}
}
}
int iline = pst.executeUpdate();
if(pst!=null){
pst.close();
}
if(sqlcon!=null){
sqlcon.close();
}
return iline;
}
public ResultSet GetResultSet(String sql,Object ...objs) throws SQLException{
sqlcon=GetConnection();
pst=sqlcon.prepareStatement(sql);
if(objs!=null){
if(objs.length>0){
int idx=1;
for(Object obj : objs){
pst.setObject(idx, obj);
idx++;
}
}
}
ResultSet rst = pst.executeQuery();
return rst;
}
/**
* 关闭数据库所有连接对象释放数据库连接资源
* @throws SQLException
*/
public void CloseAll() throws SQLException{
if(pst!=null){
pst.close();
}
if(sqlcon!=null){
sqlcon.close();
}
}
/**
* 执行多条sql语句 使用事务处理
* @param sqlList
* @param objsList
* @return
*/
public int MyTransaction(List<String> sqlList,List<Object[]> objsList){
int iline=-1;
try{
sqlcon=GetConnection();//获取链接对象
sqlcon.setAutoCommit(false);//取消事务的自动提交功能
if(sqlList.size()>0){
for(int i=0;i<sqlList.size();i++){
String sql=sqlList.get(i);//获取要执行的sql语句
Object [] objs=objsList.get(i);//获取要执行的sql语句的参数
pst=sqlcon.prepareStatement(sql);//创建pst对象
if(objs!=null){//为sql语句的参数赋值
if(objs.length>0){
int idx=1;
for(Object obj : objs){
pst.setObject(idx, obj);
idx++;
}
}
}
pst.execute();//执行sql语句
}
}
iline=1;
sqlcon.commit();//如果sql语句执行成功,则提交事务
}catch(SQLException e){
if(sqlcon!=null){
try {
sqlcon.rollback();//如果sql语句执行失败,则回滚事务
} catch (SQLException e1) {
e1.printStackTrace();
}
}
e.printStackTrace();
}finally{
try{
if(pst!=null){
pst.close();
}
if(sqlcon!=null){
sqlcon.close();
}
}catch(SQLException e){
e.printStackTrace();
}
}
return iline;
}
}
- javaoop---jdbc 入门级别
- javaOOP
- javaOOP
- JavaOOP
- Javaoop
- JDBC事务级别
- JDBC事务隔离级别
- JDBC 事务级别
- jdbc 隔离级别
- JDBC事务隔离级别
- JDBC事务隔离级别
- JDBC事务隔离级别
- JDBC事务隔离级别
- JDBC事务隔离级别
- jdbc事务隔离级别
- JDBC事务级别
- JDBC 事务隔离级别
- JDBC 事务隔离级别
- c++11时间函数
- jquery 删除json list中的数据
- SDRAM的机理
- 一个关于Java的装箱与拆箱的bug
- Leetcode:Counting Bits
- javaoop---jdbc 入门级别
- 监听Fragment show/hide状态变化
- Android性能优化
- JavaScript学习笔记
- 阿里云Ubuntu服务器配置教程(一)——服务器与MySQL配置
- Date类型和Calendar类型区别
- java 复制图片练习
- 单目摄像机标定程序(using openCV functions)
- 页面当含有多条数据时,跳转到第二页时,无法选择第二页数据记录解决