Java JDBC sqlserver连接(增删改)

jdbc驱动包要网上下载

sqljdbc4.jar

sqljdbc_4.0.rar


personDAO.java

package demo;
import java.sql.*;
import java.util.*;

public class personDAO {
	
	public void addPerson(Person person1)throws SQLException{
        //首先拿到数据库的连接
        Connection conn=DBUtil.getConnection();
        String sql="" + 
                "insert into RTO_Commen"+
                "(D_Name,D_Content,Nid) "+
                "values(?,?,?)";//参数用?表示,相当于占位符;
        
        //预编译sql语句
        PreparedStatement psmt = conn.prepareStatement(sql);
        
        //先对应SQL语句,给SQL语句传递参数
        //psmt.setInt(1, person1.getDid());
        psmt.setString(1, person1.getD_Name());
        
        psmt.setString(2, person1.getD_Content());
        psmt.setInt(3, person1.getNid());
        //psmt.setString(4, person1.getAddDate());
        
        //执行SQL语句
        psmt.execute();
        /**
         * prepareStatement这个方法会将SQL语句加载到驱动程序conn集成程序中,但是并不直接执行
         * 而是当它调用execute()方法的时候才真正执行;
         * 
         * 上面SQL中的参数用?表示,相当于占位符,然后在对参数进行赋值。
         * 当真正执行时,这些参数会加载在SQL语句中,把SQL语句拼接完整才去执行。
         * 这样就会减少对数据库的操作
         */
    }
    //------------------------------------------add--------------------------------------------------------
    //------------------------------------------update--------------------------------------------------------
    
    public void updatePerson(Person person)throws SQLException{
        //首先拿到数据库的连接
        Connection conn=DBUtil.getConnection();
        String sql="" + 
                "update RTO_Commen set D_Name = ?,D_Content = ?,Nid=?,AddDate=? where id = ?";//参数用?表示,相当于占位符
        
        //预编译sql语句
        PreparedStatement psmt = conn.prepareStatement(sql);
        
        //先对应SQL语句,给SQL语句传递参数
        psmt.setInt(1, person.getDid());
        psmt.setString(2, person.getD_Name());
        psmt.setInt(3, person.getNid());
        psmt.setString(4, person.getD_Content());
        psmt.setString(5, person.getAddDate());
        
        //执行SQL语句
        psmt.execute();
        psmt.close();
        conn.close();
    }
    //------------------------------------------update--------------------------------------------------------
    //------------------------------------------delete--------------------------------------------------------
    
    public void deletePerson(int id) throws SQLException{
        Connection conn=DBUtil.getConnection();
        String sql="" + 
                "delete from RTO_Commen where Did = ?";
        PreparedStatement psmt = conn.prepareStatement(sql);
        psmt.setInt(1,id);
        
        //执行SQL语句
        psmt.execute();
    }
    //------------------------------------------delete--------------------------------------------------------
    //------------------------------------------SearchOne--------------------------------------------------------
    
    public Person SearchOne(int id) throws SQLException{
        Person p = null;
        Connection conn=DBUtil.getConnection();
        String sql="" + 
                "select * from RTO_Commen where Did = ?";
        PreparedStatement psmt = conn.prepareStatement(sql);
        psmt.setInt(1,id);
        
        //执行SQL语句
        ResultSet rs = psmt.executeQuery();
        while(rs.next()){
            p = new Person();
            
            p.setDid(rs.getInt("Did"));
            p.setD_Name(rs.getString("D_Name"));
            p.setD_Content(rs.getString("D_Content"));
            p.setNid(rs.getInt("Nid"));
            p.setAddDate(rs.getString("AddDate"));
        }
        return p;
    }
    //------------------------------------------SearchOne--------------------------------------------------------
    //------------------------------------------Search--------------------------------------------------------
    
    public List<Person> Search() throws SQLException{
        Connection conn = DBUtil.getConnection();
        Statement stmt = conn.createStatement();
        ResultSet rs =  stmt.executeQuery("select Did,D_Name,D_Content, Nid, AddDate from RTO_Commen");
        List<Person> people = new ArrayList<Person>();
        Person p = null;
        while(rs.next()){//如果对象中有数据,就会循环打印出来
            p = new Person();
            
            p.setDid(rs.getInt("Did"));
            p.setD_Name(rs.getString("D_Name"));
            p.setD_Content(rs.getString("D_Content"));
            p.setNid(rs.getInt("Nid"));
            p.setAddDate(rs.getString("AddDate"));
            
            people.add(p);
        }
        rs.close();
        conn.close();
        
        return people;
    }
}

Person.java

package demo;

public class Person {

	private int Did;
	private String D_Name;
	private String D_Content;
	private int Nid;
	private String AddDate;
	
	public void setDid(int Did)
	{
		this.Did = Did;
	}
	public void setD_Name(String D_Name)
	{
		this.D_Name = D_Name;
	}
	public void setD_Content(String D_Content)
	{
		this.D_Content = D_Content;
	}
	public void setNid(int Nid)
	{
		this.Nid = Nid;
	}
	public void setAddDate(String AddDate)
	{
		this.AddDate = AddDate;
	}
	
	
	public int getDid()
	{
		return this.Did;
	}
	public String getD_Name()
	{
		return this.D_Name;
	}
	public String getD_Content()
	{
		return this.D_Content;
	}
	public int getNid()
	{
		return this.Nid;
	}
	public String getAddDate()
	{
		return this.AddDate;
	}
	
}

DBUtil.java

package demo;
import java.sql.*;

public class DBUtil {
	//这里可以设置数据库名称
    private final static String URL = "jdbc:sqlserver://192.168.31.245:1433;DatabaseName=news";
    private static final String USER="sa";
    private static final String PASSWORD="xxxx"; 
    private static Connection conn=null;
    //静态代码块(将加载驱动、连接数据库放入静态块中)
    static{
        try {
            //1.加载驱动程序
            Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");       
            //2.获得数据库的连接
            conn=(Connection)DriverManager.getConnection(URL,USER,PASSWORD);
            System.out.println( "Connection Successful! "); //如果连接成功 控制台输出Connection Successful! 
        } catch (ClassNotFoundException e) {
            e.printStackTrace();
        } catch (SQLException e) {
            e.printStackTrace();
        }
    }
    
    //对外提供一个方法来获取数据库连接
    public static Connection getConnection(){
        return conn;
    }
    
    
    //测试用例
    

}

demo.java

package demo;
import java.sql.Connection;  
import java.sql.DriverManager;  
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.*;

import java.sql.Timestamp;  
import java.text.ParseException;  
import java.text.SimpleDateFormat;  
import java.util.Date; 


public class demo {

	public static void main(String[] args) throws SQLException, ParseException{
		// TODO Auto-generated method stub
		
		addPerson();
	}
	
	public static void search() throws SQLException
	{
		personDAO p = new personDAO();
		List<Person> people = new ArrayList<Person>();
        people = p.Search();
        for(Person person : people){
            String str = person.getDid()+","+person.getD_Name()+","+person.getAddDate()+","+person.getNid();
            System.out.println(str);
        }
	}
	
	public static void addPerson() throws SQLException
	{
		//update
		personDAO p = new personDAO();
        Person person1 = new Person();
        //person1.setAddDate();
        person1.setD_Name("陈伟霆444");
        person1.setNid(443);
        person1.setD_Content("This is 12444");
        person1.setAddDate("2010-10-1 12:20:01");
        p.addPerson(person1);
        System.out.println( "add Successful! ");
	}

	public static void update()
	{
		Person person1 = new Person();
        person1.setId(1);
        person1.setName("陈伟霆");
        person1.setAge(35);
        p.updatePerson(person1);
	}
	
	public static void dellPerson()
	{
		
	}


}


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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值