MySQL数据库交互基础类
来源:互联网 发布:eclipse 测试java程序 编辑:程序博客网 时间:2024/06/18 13:27
package jdbcc;
import java.sql.CallableStatement;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.ArrayList;
import java.util.List;
public class MyJDBC {
static Connection conn=null; //建立连接返回的对象
static Statement sm=null;//执行静态SQL语句的对象
static PreparedStatement ps=null;//执行动态SQL语句
static CallableStatement cs=null;//执行数据库存储过程
static{ //静态代码快,加载这个类的时候就将和数据库建立链接
//连接MySql数据库,用户名和密码都是root
String url = "jdbc:mysql://localhost:3306/test" ;
String username = "root" ;
String password = "root" ;
try {
//加载数据库驱动
Class.forName("org.mysql.jdbc.Driver");
//链接数据库
conn=DriverManager.getConnection(url, username, password);
} catch (ClassNotFoundException | SQLException e) {
System.out.println("数据库未连接......");
}
}
//更新数据库(增加、删除、修改)
@SuppressWarnings("finally")
//Object[]中的数据是代替sql语句中的“?”,完成整个数据查询语句(例子:sql="select * form User where id=?;")
public static int update(String sql,Object[] obj){
int flag=-1;
try {
//获得预处理对象并加载预处理语句,可选择三个中的任意一个
//sm=conn.createStatement();
ps=conn.prepareStatement(sql);
//cs=conn.prepareCall(new String("SQL语句"));
//替换其中的“?”
for(int i=0;i<obj.length;i++){
//加载sql语句
ps.setObject(i+1, obj[i]);
}
//执行访问数据库的语句
flag= ps.executeUpdate();
} catch (SQLException e) {
e.printStackTrace();
}finally{
try {
//关闭资源
conn.close();
ps.close();
} catch (SQLException e) {
e.printStackTrace();
}
return flag;
}
}
//查询数据库
@SuppressWarnings("finally")
public static List<String> query(String sql,Object [] obj){
List<String> list=null;
ResultSet rs=null;
try {
//获得预处理对象并加载预处理语句,可选择三个中的任意一个
//sm=conn.createStatement();
ps=conn.prepareStatement(sql);
//cs=conn.prepareCall(new String("SQL语句"));
//替换其中的“?”
for(int i=0;i<obj.length;i++){
//加载sql语句
ps.setObject(i+1, obj[i]);
}
//查询数据,返回一个ResultSet集合(java.sql包下的)
rs= ps.executeQuery();
list=new ArrayList<>();
while(rs.next()){
String mess=rs.getString("name"); //获取该User对象中name的值
list.add(mess); //将name添加到list中
}
rs.close();
} catch (SQLException e) {
e.printStackTrace();
}finally{
try {
//关闭资源
ps.close();
rs.close();
} catch (SQLException e) {
e.printStackTrace();
}
//返回查询结果
return list;
}
}
}
0 0
- MySQL数据库交互基础类
- MySQL 数据库基础操作类
- NHibernate与MySQL数据库交互(类和表的映射)
- c#数据库交互常用的基础方式
- 图片与mysql数据库的交互
- android 做登陆与mysql数据库交互
- mysql学习(二),用户数据库交互
- python实现与mysql数据库交互
- [Mybatis] SpringBoot -mybatis 常用mysql数据库交互
- MYSQL数据库基础
- mysql数据库基础
- MySQL数据库基础
- mysql数据库基础操作
- Mysql 数据库 基础代码
- MYSQL数据库基础
- 数据库--基础--Mysql
- MySQL数据库操作基础
- MYsql数据库基础
- Android Studio中使用lambda表达式
- 操作系统ucore lab2实验报告
- MyBatis/Ibatis中#和$的区别
- Solr的常用操作
- Oracle中的chr()函数 和 ascii()函数
- MySQL数据库交互基础类
- Hive 视图 索引 动态分区装载数据
- 字符串匹配算法 -- 暴力破解法(朴素法),RK算法,KMP算法
- cotangent matrix or laplacian mesh operator
- android中使用ViewPager实现无限轮播图
- C到C++完美过度(二)
- NYOJ746:整数划分(四)(区间dp)
- 我的软著和专利
- 游戏开发笔记-技能系统