java jdbc添查_使用JDBC添加数据和查询数据<测试通过>

1、连接数据库工具类

package com.JDBC.ConnectionDB;

import java.sql.Connection;

import java.sql.DriverManager;

import java.sql.SQLException;

public class ConnectionDB

{

public static Connection getConnection() throws ClassNotFoundException

{

String url = "jdbc:sqlserver://localhost:1433;databasename=Student";

String user = "sa";

String password = "246855";

Connection conn = null;

try

{

// 获得数据库驱动

Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");

// 获得数据库连接

conn = DriverManager.getConnection(url, user, password);

// 关闭事务的自动提交

conn.setAutoCommit(false);

return conn;

} catch (SQLException e)

{

System.out.println("连接数据库失败!");

e.printStackTrace();

}

return null;

}

}

2、读者信息持久类

package com.JDBC.ConnectionDB;

public class ReaderInfo

{

private Integer id;

private String password;

public Integer getId()

{

return id;

}

public void setId(Integer id)

{

this.id = id;

}

public String getPassword()

{

return password;

}

public void setPassword(String password)

{

this.password = password;

}

}

3、读者信息控制类添加/删除

package com.JDBC.ConnectionDB;

import java.sql.Connection;

import java.sql.PreparedStatement;

import java.sql.ResultSet;

import java.sql.SQLException;

import java.util.ArrayList;

import java.util.List;

public class ReaderController

{

public boolean save() throws Exception

{

Connection conn = ConnectionDB.getConnection();

String listSQL = "insert into student (id,password)" + "values(?,?)";

// 数据库操作对象

PreparedStatement pstmt = conn.prepareStatement(listSQL);

try

{

pstmt.setInt(1, 20);

pstmt.setString(2, "xxxooo");

// 保存读者信息

boolean boo = pstmt.execute();

System.out.println(boo);

conn.commit();

if (boo == true)

{

return true;

} else

{

return false;

}

} catch (SQLException e)

{

conn.rollback();

e.printStackTrace();

} finally

{

conn.close();

}

return false;

}

public List findAll() throws Exception

{

Connection conn = ConnectionDB.getConnection();

String ListSQL = "select * from student order by id asc";

List list = new ArrayList();

try

{

PreparedStatement psmt = conn.prepareStatement(ListSQL);

ResultSet rs = psmt.executeQuery();

while (rs.next())

{

ReaderInfo reader = new ReaderInfo();

reader.setId(rs.getInt(1));

reader.setPassword(rs.getString(2));

list.add(reader);

}

conn.commit();

return list;

} catch (SQLException e)

{

e.printStackTrace();

} finally

{

if (conn != null)

conn.close();

}

return list;

}

}

4、测试程序

package com.JDBC.ConnectionDB;

import java.util.ArrayList;

import java.util.List;

public class TestJDBC

{

public static void main(String[] args)

{

// 实例化控制器类对象

ReaderController rc = new ReaderController();

try

{

rc.save();

List list = new ArrayList();

list = rc.findAll();

System.out.println("---------");

// 输出读者信息

System.out.println("ID   PSW");

System.out.println("---------");

for (int i = 0; i < list.size(); i++)

{

ReaderInfo reader = (ReaderInfo) list.get(i);

System.out.print(" " + reader.getId() + " ");

System.out.println(" " + reader.getPassword() + " ");

}

} catch (Exception e)

{

e.printStackTrace();

}

}

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值