jdbc连接数据库

本文详细介绍了如何使用Java JDBC进行数据库连接与操作,包括连接建立、SQL语句执行及结果处理等关键步骤,并提供了具体的代码示例。

   

       连接理论:DriverManager类负责建立与数据源的连接,通过JDBC驱动程序进行访问

                 常用方法 getConnection建立连接

              //3.装载驱动    驱动名称

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

              //4.获取连接

                     con=DriverManager.getConnection("jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=bookManager","sa","123");

 

 

              Connection对象表示对一个特定数据源建立的一条连接,将用它来创建一个提供定义和执行特定SQL语句功能               Statement对象      createStatement() 创建用于执行SQL语句的Statement对象

                       prepareStatement()    返回执行动态SQL语句的PrepareStatement对象

 

                     Statement接口定义了向数据库发送SQL语句的方法,其对象提供一个工作空间用于生成SQL查询,执行并获取返回的结果。

 

                    方法      说明

                    close()            关闭当前的Statement对象

                    execute()        执行Statement对象,主要执行返回多个结果集的SQL语句

                    executeQuery()     执行SQL Select命令

                    executeUpdate()    执行SQL更新的命令,包括Update,Delete,Insert

                    getMoreResults()   移到Statement对象的下一个结果处

                    getQueryTimeout()返回JDBC驱动器等待Statement执行SQL的延迟时间(秒计算)

                    getResultSet()返回查询结果集

 

              导入必需的类

               装入JDBC驱动程序

               识别数据源

               建立连接(Connection对象-使用DriverManager类的方法getConnection返回)

               创建执行对象(Statement对象-调用Connection对象的方法creatStatement返回)

               执行SQL语句

               使用Statement对象的方法-executeQueryexecute

               Update执行增加、删除、修改、查询

               处理查询结果

               从返回的ResultSet对象中获取数据

               关闭连接

 

 

//执行对象为滚动的

          

 

 

 

//执行对象为滚动的

 

try {

              stmt=con.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE, ResultSet.CONCUR_READ_ONLY);

 

 

1.数据库访问对象:一:查询语句无参时的情况下,Statement stmt=null;用这个定义一个访问对象。

 

                        对应的sql语句:先创建访问stmt对象然后赋值,在写sql语句。

                                       stmt=con.createStatement();

                                   String sql="select * from couinfo";

                                   rs=stmt.executeQuery(sql);

 

 

                    二:查询语句有参的情况下, PreparedStatement pstmt=null;

                    

 

                    对应的sql语句:先sql语句在创建访问对象。String sql="select * from couinfo where

Cname=? and Cnum=?";

                            pstmt=con.prepareStatement(sql);

                            pstmt.setString(1, c.getCname());

                            pstmt.setInt(2, c.getCnum());

                           

                            rs=pstmt.executeQuery();

 

 

      2.sql查询语句

 

       查询语句:String sql="select * from stuinfo where stuno=?";

                                  

String sql="select * from lgUsers where name=? and password=?";

                              String sql="select * from lgUsers where admin=0";

String sql="select * from vbookCategory";

String sql = "select * from vbookCategory where bookName like" +"'%"+searcherContent+"%'";

sql="select * from vbookCategory where fcategoryName="+"'"+searcherContent+"'";

sql="select * from vbookCategory where fcategoryName="+"'"+categoryname+"'"+"and bookName like"+"'%"+searcherContent+"%'";

 

构建sql语句:

sql="select *  from vbookCategory where 1=1";

一条语句根据不同条件进行不同的累加

sql=sql+" and bookName like "+"'%"+bookName+"%'";

sql=sql+" and publisher="+"'"+publisher+"'";

sql=sql+" and price between "+small+" and "+high;

 

                            

       插入语句:String sql="insert into  lgUsers values(?,?,?,?,?,?)";

                            int m=pstmt.executeUpdate();(更新结果)

                      String sql="insert into  stuinfo (stuNo,couseNo,grade) values(?,?,?)";

                String sql="insert into stuinfo values(?,?,?,?,?,?,?,?)";                

 

 

 

    

删除语句:String sql="delete stuinfo where stuNo=?";

 

String sql="delete from lgUsers where id=?";

 

 

 

 

修改语句:String sql="update couinfo set Cname=?,Cteacher=?,Cplace=?,Ctype=? where Cnum=?";

          String sql="update  stuinfo set stuNo=?,couseNo=?,grade=? where stuNo=?";

         String sql="update stuinfo set stuNo=?,name=?,sex=?,major=?,gender=?,birthday=? where stuNo=?";

String sql2="update stuinfo set couseNo=? where stuNo=? ";

String sql="update  lgUsers set name=?,password=?,sex=?,age=?,tel=?,admin=? where id=?";

 

 

 

 

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值