Java JDBC sqlserver连接(增删改)

来源:互联网 发布:淘宝app确认订单页面 编辑:程序博客网 时间:2024/06/06 07:21

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 stubaddPerson();}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{//updatepersonDAO 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(){}}