十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
对数据库进行增删改查?
网站建设哪家好,找创新互联公司!专注于网页设计、网站建设、微信开发、小程序开发、集团企业网站建设等服务项目。为回馈新老客户创新互联还提供了安福免费建站欢迎大家使用!
以下是 sql server 2013+java.实现的是对MSC对象的增删改查.
需要下载连接驱动程序:com.microsoft.sqlserver.jdbc.SQLServerDriver
网上搜一下就行
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
class MSC
{
public String MscID;
public String MscName;
public String MscCompany;
public float MscLongitude;
public float MscLatitude;
public float MscAltitude;
public MSC(String MscID, String MscName, String MscCompany,
float MscLongitude, float MscLatitude,float MscAltitude){
this.MscID = MscID;
this.MscName = MscName;
this.MscCompany = MscCompany;
this.MscLongitude =MscLongitude;
this.MscLatitude = MscLatitude;
this.MscAltitude = MscAltitude;
}
}
public class sqlserverjdbc {
public Connection getConnection(){
String driverName = "com.microsoft.sqlserver.jdbc.SQLServerDriver"; //加载JDBC驱动
String dbURL = "jdbc:sqlserver://localhost:1433; DatabaseName=gsm"; //连接服务器和数据库sample
String userName = "sa"; //默认用户名
String userPwd = "123"; //密码
Connection dbConn = null;
try {
Class.forName(driverName);
dbConn =DriverManager.getConnection(dbURL, userName, userPwd);
} catch (Exception e) {
e.printStackTrace();
}
return dbConn;
}
public void printUserInfo(){
Connection con = getConnection();
Statement sta = null;
ResultSet rs = null;
System.out.println("打印表格MSC信息");
try {
sta = con.createStatement();
rs = sta.executeQuery("select * from MSC信息");
System.out.println("MscID\tMscName\tMscCompany\tMscLongitude\tMscLatitude\tMscAltitude");
while(rs.next()){
System.out.println(rs.getString("MscID")+"\t"+
rs.getString("MscName")+"\t"+
rs.getString("MscCompany")+"\t"+
rs.getFloat("MscLongitude")+"\t"+
rs.getFloat("MscLatitude")+"\t"+
rs.getFloat("MscAltitude"));
}
con.close();
sta.close();
rs.close();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
System.out.println("打印完成\n");
}
public void delete(String MscID){
Connection con = getConnection();
String sql = "delete from MSC信息 where MscID = " + MscID;
PreparedStatement pst;
System.out.println("删除表格MSC信息中 ID = "+MscID+"的记录");
try {
pst = con.prepareStatement(sql);
pst.execute();
pst.close();
con.close();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
System.out.println("记录删除失败!!!");
}
System.out.println("记录删除成功!!!\n");
}
public void insert(MSC msc){
Connection con = getConnection();
String sql = "insert into MSC信息 values(?,?,?,?,?,?)";
PreparedStatement pst;
System.out.println("插入一条记录");
try {
pst = con.prepareStatement(sql);
pst.setString(1, msc.MscID);
pst.setString(2, msc.MscName);
pst.setString(3, msc.MscCompany);
pst.setFloat(4, msc.MscLongitude);
pst.setFloat(5, msc.MscLatitude);
pst.setFloat(6, msc.MscAltitude);
pst.execute();
pst.close();
con.close();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
System.out.println("插入失败!!!");
}
System.out.println("插入成功!!!\n");
}
//更新MscID的MscName
public void updateMscName(String MscID, String MscName){
Connection con = getConnection();
String sql = "update MSC信息 set MscName = ? where MscID = ?";
PreparedStatement pst;
System.out.println("修改一条记录");
try {
pst = con.prepareStatement(sql);
pst.setString(1, MscName);
pst.setString(2, MscID);
pst.execute();
pst.close();
con.close();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
System.out.println("修改失败!!!");
}
System.out.println("修改成功!!!\n");
}
public static void main(String args[]){
sqlserverjdbc sql = new sqlserverjdbc();
sql.printUserInfo();
sql.delete("1111");
sql.printUserInfo();
sql.updateMscName("5215", "联想");
sql.printUserInfo();
sql.insert(new MSC("1111", "中兴" ," 中兴", (float)12.2, (float)3.4,(float)45.5));
sql.printUserInfo();
}
}
***********对人员表TUser的业务逻辑:
package bean;
import java.sql.*;
import java.util.ArrayList;
import bean.UserBean;
import bean.DBUtil;
public class UserDAO{
public UserDAO() {
}
/*更新数据,通过传递许更新的对象以及SQL语句,对数据进行添加、删除或更新操作
*obj为实体类的对象,sql为SQL语句
*/
public boolean insertUser(UserBean ub){
boolean b=false;
Connection conn=null;
PreparedStatement stmt=null;
String sql=null;
try{
//插入一条记录
sql="insert into TUser values(user_sequence.nextval,?,?,?,?,?)";
//创建一个连接
conn=DBUtil.getConnection();
//创建PreparedStatement的对象
stmt=conn.prepareStatement(sql);
//给SQL语句内的"?"赋值
//stmt.setInt(1,ub.getUser_ID());
stmt.setString(1,ub.getMobile_Number());
stmt.setString(2,ub.getRoaming_Status());
stmt.setString(3,ub.getCom_Level());
stmt.setInt(4,ub.getCustomer_ID());
stmt.setInt(5,ub.getAccount_ID());
//返回执行更新操作后受影响的行数
int rst=stmt.executeUpdate();
if(rst!=0){
b=true;
}
//关闭相关的连接
DBUtil.closeStatement(stmt);
DBUtil.closeConnection(conn);
}catch(SQLException se){
se.printStackTrace();
}catch(Exception e){
e.printStackTrace();
}
return b;
}
/*修改一条数据
*直接调用insertUser()方法
*/
public boolean updateUser(UserBean ub){
boolean b=false;
Connection conn=null;
PreparedStatement stmt=null;
String sql=null;
try{
//插入一条记录
sql="update TUser set Mobile_Number=?,Roaming_Status=?,Com_Level=?,Customer_ID=?,Account_ID=? where User_ID="+ub.getUser_ID();
//创建一个连接
conn=DBUtil.getConnection();
//创建PreparedStatement的对象
stmt=conn.prepareStatement(sql);
//给SQL语句内的"?"赋值
//stmt.setInt(1,ub.getUser_ID());
stmt.setString(1,ub.getMobile_Number());
stmt.setString(2,ub.getRoaming_Status());
stmt.setString(3,ub.getCom_Level());
stmt.setInt(4,ub.getCustomer_ID());
stmt.setInt(5,ub.getAccount_ID());
//返回执行更新操作后受影响的行数
int rst=stmt.executeUpdate();
if(rst!=0){
b=true;
}
//关闭相关的连接
DBUtil.closeStatement(stmt);
DBUtil.closeConnection(conn);
}catch(SQLException se){
se.printStackTrace();
}catch(Exception e){
e.printStackTrace();
}
return b;
}
/*删除一条记录
*@返回boolean类型的标志,通过传递UserBean的实例对象,得到该对象的User_ID
*/
public boolean deleteUser(UserBean ub){
boolean b=false; //测试变量,无实在意义
Connection conn=null;
Statement stmt=null;
String sql=null;
int id=0;
try{
id=ub.getUser_ID();
//删除记录为id的记录
sql="delete from TUser where User_ID="+id;
//创建一个连接
conn=DBUtil.getConnection();
//创建PreparedStatement的对象
stmt=conn.createStatement();
//检测删除的对象是否存在
if(getUser(id)!=nullgetUser(id).getUser_ID()==id){
//返回执行更新操作后受影响的行数
int rst = stmt.executeUpdate(sql);
if (rst 0) {
b = true;
}
}else{
System.out.println("此条记录不存在!");
}
//关闭相关的连接
DBUtil.closeStatement(stmt);
DBUtil.closeConnection(conn);
//捕获异常
}catch(SQLException se){
se.printStackTrace();
}catch(Exception e){
e.printStackTrace();
}
return b;
}
/*查询数据/得到数据
*str为数据库对应的列名,sql为传入的SQL语句
*/
public UserBean getUser(int user_id){
Connection conn=null;
Statement stmt=null;
ResultSet rs=null;
String sql=null;
UserBean user=null;
try{
//从数据库中查询User_ID值为user_id的记录
sql="select * from TUser where User_ID="+user_id;
//创建一个连接
conn=DBUtil.getConnection();
//创建Statement的对象
stmt=conn.createStatement();
//实例化UserBean的一个对象
user =new UserBean();
//执行操作,返回一个结果集
rs=stmt.executeQuery(sql);
//从结果集中读取一条记录,并且将对应的属性值赋值给user
if(rs.next()){
//System.out.println(rs.getString("User_Address"));
user.setUser_ID(rs.getInt("User_ID"));
user.setMobile_Number(rs.getString("Mobile_Number"));
user.setRoaming_Status(rs.getString("Roaming_Status"));
user.setCom_Level(rs.getString("Com_Level"));
user.setCustomer_ID(rs.getInt("Customer_ID"));
user.setAccount_ID(rs.getInt("Account_ID"));
//System.out.println(user.getUser_ID());
}
//关闭相关的连接
DBUtil.closeResultSet(rs);
DBUtil.closeStatement(stmt);
DBUtil.closeConnection(conn);
//捕获异常
}catch(SQLException se){
se.printStackTrace();
}catch(Exception e){
e.printStackTrace();
}
//返回user对象
// System.out.println(user.getUser_ID());
return user;
}
/*查询数据
*str为数据库对应的列名,sql为传入的SQL语句
*@返回一个数据列表
*/
public ArrayList getUsers(){
Connection conn=null;
Statement stmt=null;
ResultSet rs=null;
String sql=null;
UserBean user=null;
ArrayList list=null;
try{
//从数据库中查询User_ID值为user_id的记录
sql="select * from TUser";
//创建一个连接
conn=DBUtil.getConnection();
//创建Statement的对象
stmt=conn.createStatement();
list=new ArrayList();
//执行操作,返回一个结果集
rs=stmt.executeQuery(sql);
//从结果集中循环读取记录,并且将对应的属性值赋值给user
while(rs.next()){
//实例化UserBean的一个对象
user =new UserBean();
user.setUser_ID(rs.getInt("User_ID"));
user.setMobile_Number(rs.getString("Mobile_Number"));
user.setRoaming_Status(rs.getString("Roaming_Status"));
user.setCom_Level(rs.getString("Com_Level"));
user.setCustomer_ID(rs.getInt("Customer_ID"));
user.setAccount_ID(rs.getInt("Account_ID"));
//将user添加到list中
list.add(user);
}
//关闭相关的连接
DBUtil.closeResultSet(rs);
DBUtil.closeStatement(stmt);
DBUtil.closeConnection(conn);
//捕获异常
}catch(SQLException se){
se.printStackTrace();
}catch(Exception e){
e.printStackTrace();
}
//返回list对象
return list;
}
}
********************与数据库的连接类DBUtil:
package bean;
import java.sql.*;
public class DBUtil {
static String serverName="localhost"; //主机地址
static String sDBDriver="oracle.jdbc.driver.OracleDriver"; //oracle驱动
static String dbInstance="cloud"; //数据库的名称
static String sConnStr="jdbc:oracle:thin:@"+serverName+":1521:"+dbInstance; //数据库的连接字符串
static String dbUser="system"; //数据库的登陆名
static String userPwd="manager"; //数据库的登陆密码
/*
*得到一个Connection对象
*@return java.sql.Connection
*/
public static Connection getConnection(){
Connection conn=null;
try{
Class.forName(sDBDriver);
conn=DriverManager.getConnection(sConnStr,dbUser,userPwd);
}catch(ClassNotFoundException e){
e.printStackTrace();
}catch(SQLException se){
se.printStackTrace();
}
return conn;
}
//关闭指定的结果集rs
public static void closeResultSet(ResultSet rs){
if(rs!=null){
try{
rs.close();
}catch(SQLException e){
e.printStackTrace();
}
}
}
//关闭指定的Statement
public static void closeStatement(Statement stmt){
if(stmt!=null){
try{
stmt.close();
}catch(SQLException e){
e.printStackTrace();
}
}
}
//关闭连接conn
public static void closeConnection(Connection conn){
if(conn!=null){
try{
conn.close();
}catch(SQLException e){
e.printStackTrace();
}
}
}
}
class NewAction implements ActionListener{
String url="jdbc:odbc:s";
String user="sa";
String passwd="";
public void actionPerformed(ActionEvent e) {
// TODO Auto-generated method stub
if(e.getSource()==jb){
Find();
}
else if(e.getSource()==jb1){
Write();
JOptionPane.showMessageDialog(null, "添加成功");
}
else if(e.getSource()==jb3){
Del();
JOptionPane.showMessageDialog(null, "删除成功");
}
else if(e.getSource()==jb4){
Update();
JOptionPane.showMessageDialog(null, "修改成功");
}
else if(e.getSource()==jb5){
Build();
}
}
public void Find(){
boolean f=false;
String lk="select * from std";
try{
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
java.sql.Connection con= DriverManager.getConnection(url,user,passwd);
Statement sql=con.createStatement();
ResultSet rs=sql.executeQuery(lk);
while(rs.next()){
String p=rs.getString(1);
f=(jf13.getText().trim()).equals(p.trim());
if(f){
jf1.setText(p);
jf1.setEditable(false);
jf2.setText(rs.getString(2));
jf2.setEditable(false);
jf3.setText(rs.getString(3));
jf3.setEditable(false);
jf4.setText(rs.getString(4));
jf4.setEditable(false);
jf5.setText(rs.getString(5));
jf5.setEditable(false);
jf6.setText(rs.getString(6));
jf6.setEditable(false);
jf7.setText(rs.getString(7));
jf7.setEditable(false);
jf8.setText(rs.getString(8));
jf8.setEditable(false);
jf9.setText(rs.getString(9));
jf9.setEditable(false);
jf10.setText(rs.getString(10));
jf10.setEditable(false);
jta.setText(rs.getString(11));
jta.setEditable(false);
jf12.setText(rs.getString(12));
jf12.setEditable(false);
jf13.setText(rs.getString(13));
jf13.setEditable(false);
}
}
if(!f){
JOptionPane.showMessageDialog(null,"此人不存在!");
}
rs.close();
sql.close();
con.close();
}catch(SQLException p){}
catch(Exception d){}
}
public void Write(){
try{
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
java.sql.Connection con= DriverManager.getConnection(url,user,passwd);
PreparedStatement sql=con.prepareStatement("insert into std values(?,?,?,?,?,?,?,?,?,?,?,?)");
sql.setString(1,jf1.getText());
sql.setString(2, jf2.getText());
sql.setString(3,jf3.getText());
sql.setString(4, jf4.getText());
sql.setString(5, jf5.getText());
sql.setString(6, jf6.getText());
sql.setString(7, jf7.getText());
sql.setString(8, jf8.getText());
sql.setString(9, jf9.getText());
sql.setString(10, jf10.getText());
sql.setString(11, jta.getText());
sql.setString(12, jf12.getText());
sql.executeUpdate();
con.close();
sql.close();
}catch(Exception p){
p.printStackTrace();
}
}
public void Del(){
try{
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
java.sql.Connection con= DriverManager.getConnection(url,user,passwd);
PreparedStatement sql=con.prepareStatement("delete from std where 姓名=?");
sql.setString(1, jf13.getText());
sql.executeUpdate();
sql.close();
con.close();
}catch(Exception p){
p.printStackTrace();
}
}
public void Update(){
try{
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
java.sql.Connection con= DriverManager.getConnection(url,user,passwd);
PreparedStatement sql=con.prepareStatement("update std set 姓名=?,班级=?,性别=?,宿舍=?,出生年月=?,移动电话=?,民族=?,电子邮件=?,籍贯=?,备注=?,家庭详细住址=?,邮政编码=? where 姓名=?");
sql.setString(1,jf1.getText());
sql.setString(2, jf2.getText());
sql.setString(3,jf3.getText());
sql.setString(4, jf4.getText());
sql.setString(5, jf5.getText());
sql.setString(6, jf6.getText());
sql.setString(7, jf7.getText());
sql.setString(8, jf8.getText());
sql.setString(9, jf9.getText());
sql.setString(10, jf10.getText());
sql.setString(11, jta.getText());
sql.setString(12, jf12.getText());
sql.setString(13, jf13.getText());
sql.executeUpdate();
con.close();
sql.close();
}catch(Exception p){
p.printStackTrace();
}
}
}这是我以前写的 修改表对应的列项 就好了
首先你得确定你的数据库连接是通过什么形式连接的,hibernate还是原生态的jdbc 还是spring;
如果是只有hibernate,那么你得通过加载配置文件得到sessionFactory,然后得到session
如果spring,那么同样也需要注入sessionfactory到你的dao
如果是jdbc方式,那么你就按照原生态jdbc写法
总之,在你构造DAO时,得有数据源。这样才能操纵你的数据库
如果搞懂了这些问题,那么你的第一个,第三个问题就迎刃而解了。至于第二问题,我没明白你什么意思!