首先需要导入所用到的包
package com.wsl.JDBC;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.ResultSetMetaData;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import javax.mail.search.FromStringTerm;
import com.mysql.jdbc.Driver;
import com.mysql.jdbc.PreparedStatement;
import com.sun.org.apache.bcel.internal.generic.Select;
import com.sun.org.apache.regexp.internal.recompile;
/**
* @author Administrator
*
*/
public class jdbcUtils {
/**
* @param args
*/
private String url="jdbc:mysql://localhost:3306/mysqldbtwo";
private String username="root";
private String pswd="123";
private String driver="com.mysql.jdbc.Driver";
private Connection connection;
private java.sql.PreparedStatement pstmt;
public jdbcUtils() {
try {
Class.forName(driver);
System.out.println("加载数据库驱动成功");
} catch (ClassNotFoundException e) {
// TODO: handle exception
e.printStackTrace();
System.out.print("加载数据库驱动失败");
}
try {
connection=DriverManager.getConnection(url,username,pswd);
System.out.println("连接成功");
} catch (SQLException e) {
// TODO: handle exception
e.printStackTrace();
System.out.println("连接失败");
}
}
//更新数据 //(1)执行。添加。删除,修改语句
/**
* @param sql
* @param params
* @return
* @throws SQLException
*/
public boolean updateBySql(String sql,List<Object>params) throws SQLException{
boolean flag=false;
int index=1;//表示占位符
pstmt=connection.prepareStatement(sql);
if (params!=null && !params.isEmpty()) {
for (int i = 0; i < params.size(); i++) {
pstmt.setObject(index++, params.get(i));
}
}
int count=pstmt.executeUpdate();//表示影响数据库的行数
flag=count>0 ? true:false;
return flag;
}
//(2)查询单条语句
/**
* @param sql
* @param params
* @return
* @throws SQLException
*/
public Map<String, Object> getSimpleMap(String sql,List<Object>params) throws SQLException{
Map<String, Object> map=new HashMap<String, Object>();
int index=1;
pstmt=connection.prepareStatement(sql);
if (params !=null&& !params.isEmpty()) {
for (int i = 0; i < params.size(); i++) {
pstmt.setObject(index++, params.get(i));
}
}
ResultSet rs=pstmt.executeQuery();
ResultSetMetaData mData=rs.getMetaData();
int cols_len=mData.getColumnCount();
while (rs.next()) {
for (int i = 0; i < cols_len; i++) {
String cols_name=mData.getColumnName(i+1);
Object cols_value=rs.getObject(cols_name);
if (cols_value==null) {
cols_value="";
}
map.put(cols_name, cols_value);
}
}
return map;
}
//(3)查询多条语句
/**
* @param sql
* @param params
* @return
* @throws SQLException
*/
public List<Map<String, Object>> getMoreMaps(String sql,List<Object>params) throws SQLException{
List<Map<String, Object>> list=new ArrayList<Map<String,Object>>();
int index=1;
pstmt=connection.prepareStatement(sql);
if (params!=null && !params.isEmpty()) {
for (int i = 0; i < params.size(); i++) {
pstmt.setObject(index++, params.get(i));
}
}
ResultSet rs=pstmt.executeQuery();
ResultSetMetaData rData=rs.getMetaData();
int cols_len=rData.getColumnCount();
while (rs.next()) {
Map<String, Object> map=new HashMap<String, Object>();
for (int i = 0; i <cols_len; i++) {
String cols_name=rData.getColumnName(i+1);
Object cols_value=rs.getObject(cols_name);
if (cols_value==null) {
cols_value="";
}
map.put(cols_name, cols_value);
}
list.add(map);
}
return list;
}
public static void main(String[] args) {
// TODO Auto-generated method stub
jdbcUtils utils=new jdbcUtils();
//(1)执行。添加。删除,更新语句
/*String sql="update product2 set name=? ,address=? where id=?";
List<Object> params=new ArrayList<Object>();
params.add("xxxx");
params.add("xxxxxxxxx");
params.add(1024);
try {
boolean flag=utils.updateBySql(sql, params);
System.out.print("------>>"+flag);
} catch (Exception e) {
// TODO: handle exception
e.printStackTrace();
}*/
/*//(2)查询单条语句
String sqlString="Select * from product2 where id=?";
List<Object> paramsone=new ArrayList<Object>();
paramsone.add(1024);
try {
Map<String, Object> map=utils.getSimpleMap(sqlString, paramsone);
System.out.println(map.get("name"));
System.out.println(map.get("address"));
} catch (Exception e) {
// TODO: handle exception
}
*/
//(3)查询多条语句
String sqlStringoneString="Select * from product2";
try {
List<Map<String, Object>> list=utils.getMoreMaps(sqlStringoneString, null);
for (Map<String, Object> map:list) {
System.out.println(map.get("name"));
System.out.println(map.get("address"));
}
} catch (Exception e) {
// TODO: handle exception
}
}
}
转载于:https://blog.51cto.com/mxjy1208/951339