使用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();
  }

 }
}

 

转载于:https://www.cnblogs.com/0704040304java/archive/2012/03/14/2396236.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值