JavaWeb连接SQLServer数据库并完成一个登录界面及其功能设计。

一、JDBC连接SQLserver数据库的步骤:

  1.下载SQLserver的JDBC驱动文件——Microsoft JDBC Driver 4.0 for SQL Server

  2.例如下载得到的文件是sqljdbc_4.0.2206.100_chs.exe,解压文件,将解压缩文件中的sqljdbc4.jar放到eclipse-workspace\User_Message(新建的JavaWeb项目)\WebContent\WEB-INF\lib目录下

  3.加载JDBC驱动程序:在连接数据库之前,首先要加载想要连接的数据库的驱动到JVM(Java虚拟机),这通过java.lang.Class类的静态方法forName(String  className)实现,成功加载后,会将Driver类的实例注册到DriverManager类中

  示例语句:

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

 

  4.创建连接对象:要连接数据库,需要向java.sql.DriverManager请求并获得Connection对象, 该对象就代表一个数据库的连接,使用DriverManager的getConnectin(String url , String username , String password )方法传入指定的欲连接的数据库的路径、数据库的用户名和密码,其中url定义了连接数据库时的协议、子协议、数据源标识,协议——在JDBC中总是以jdbc开始,子协议——是桥连接的驱动程序或是数据库管理系统名称,数据源标识——标记找到数据库来源的地址与连接端口。

  示例语句:

String user="sa";

String password="woshizcy0919";

String url=
"jdbc:sqlserver://127.0.0.1:1433;DatabaseName=User_DB";

Connection connection=DriverManager.getConnection(url, user, password);

 

  5.准备SQL语句:

  示例语句:

String sql="select count(*) from t_user where username=?";

 

  6.执行SQL语句:先将SQL语句赋给preparedStatement对象,下面有两种执行SQL语句的方法executeQuery 、executeUpdate

          (1)ResultSet executeQuery():执行查询数据库的SQL语句,返回值为一个结果集(ResultSet)对象。    

            (2)int executeUpdate():执行INSERT、UPDATE或DELETE语句以及SQL DDL语句(如:CREATE TABLE和DROP TABLE等),并更新数据库,返回值为本次操作影响的行数,即记录数。

  示例语句:

PreparedStatement preparedStatement=

connection.prepareStatement(sql);

preparedStatement.setString(1, user.getUsername());
resultSet=preparedStatement.executeQuery();

preparedStatement.executeUpdate();

 

  7.操作结果集对象:

  结果集中包含符合SQL语句查询条件的所有行,即所有记录,并且它通过一套get方法提供了对这些行中数据的访问,使用结果集对象(resultSet)的访问方法获取数据。

  (1)resultSet.next():读取结果集中的下一行,即下一条记录。

  (2)resultSet.getInt(int index)

      resultSet.getInt(String columName):

      通过索引或者列名来获得查询结果集中的某一列的值。

  示例语句:

//例:现有表User:列有id,name

String sql="select * from User";

ResultSet resultSet = null; 

resultSet = preparedStatement.executeQuery(sql);

while(resultSet.next)

{

resultSet.getInt(1)//等价于resultSet.getInt("id");

resultSet.getString(2)//等价于resultSet.getInt("name");

}

 

  8.关闭JDBC对象:

  示例语句:

DBUtil.close(resultSet);

DBUtil.close(preparedStatement);

DBUtil.close(connection);

 

二、登录界面及其功能设计

1.对数据库操作方法的接口

package com.jaovo.msg.dao;

import java.util.List;

import com.jaovo.msg.model.User;

public interface IUserDao 
{
    public void add(User user);

    public void delete(int id);

    public void update(User user);

    public User load(int id);

    public User load(String username);

    public List<User> load(); 
}

2.实现接口的类

package com.jaovo.msg.dao;

import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.ArrayList;
import java.util.List;

import com.jaovo.msg.Util.DBUtil;
import com.jaovo.msg.Util.UserException;
import com.jaovo.msg.model.User;

public class UserDaoImpl implements IUserDao
{
    public void add(User user) 
    {
        //获得连接的对象
        Connection connection=DBUtil.getConnection();
        //准备sql语句
        String sql="select count(*) from t_user where username=?";
        //创建语句传输对象
        PreparedStatement preparedStatement=null;
        ResultSet resultSet=null;
        try 
        {
        preparedStatement=connection.prepareStatement(sql);
        preparedStatement.setString(1, user.getUsername());
        //接收结果集
        resultSet=preparedStatement.executeQuery();    
        //遍历结果集
        while(resultSet.next()) 
        {
            if(resultSet.getInt(1)>0) 
            {
                throw new UserException("用户已存在!");
            }
        }
        sql="insert into t_user(username,nickname,password) values(?,?,?)";
        preparedStatement=connection.prepareStatement(sql);
        preparedStatement.setString(1, user.getUsername());
        preparedStatement.setString(2, user.getNickname());
        preparedStatement.setString(3, user.getPassword());
        preparedStatement.executeUpdate();
        //重写底层代码:
        /*
        sql="insert into t_user(id,username,userpassword,nickname)values('"+user.getId()+"','"+user.getUsername()+"','"+user.getPassword()+"','"+user.getNickname()+"')";
        Statement stmt;
        Connection con=DBUtil.getConnection();
        stmt=con.createStatement();
        stmt.executeUpdate(sql);
        */
        //重写结束
        } 
        catch (SQLException e) 
        {
            e.printStackTrace();
        }
        finally 
        {
            //关闭JDBC对象
            DBUtil.close(resultSet);
            DBUtil.close(preparedStatement);
            DBUtil.close(connection);    
        }
    }

    public void delete(int id)
    {
        //获得连接的对象
        Connection connection=DBUtil.getConnection();
        //准备sql语句
        String sql="delete from t_user where id=?";
        //创建语句传输对象
        PreparedStatement preparedStatement=null;
        try 
        {
            
            preparedStatement=connection.prepareStatement(sql);
            preparedStatement.setInt(1, id);
            preparedStatement.executeUpdate();
            
        }
        catch(SQLException e) 
        {
            e.printStackTrace();
            
        }
        finally 
        {
            DBUtil.close(preparedStatement);
            DBUtil.close(connection);
        }
    }

    public void update(User user) 
    {
        //获得连接的对象
        Connection connection=DBUtil.getConnection();
        //准备sql语句
        String sql="delete from t_user where id=?";
        //创建语句传输对象
        PreparedStatement preparedStatement=null;
        try 
        {
            preparedStatement=connection.prepareSta
  • 6
    点赞
  • 88
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
JavaWeb连接SQL Server,需要使用JDBC驱动程序。您首先需要下载并安装Microsoft JDBC驱动程序,然后在Java代码中使用它来连接SQL Server数据库。您还需要提供有关数据库的信息,如数据库URL、用户名和密码。 示例代码: ```java import java.sql.*; public class SQLConnection { public static void main(String[] args) { // JDBC driver name and database URL final String JDBC_DRIVER = "com.microsoft.sqlserver.jdbc.SQLServerDriver"; final String DB_URL = "jdbc:sqlserver://<hostname>:<port>;databaseName=<dbname>"; // Database credentials final String USER = "username"; final String PASS = "password"; Connection conn = null; Statement stmt = null; try { //STEP 2: Register JDBC driver Class.forName(JDBC_DRIVER); //STEP 3: Open a connection System.out.println("Connecting to database..."); conn = DriverManager.getConnection(DB_URL, USER, PASS); //STEP 4: Execute a query System.out.println("Creating statement..."); stmt = conn.createStatement(); String sql; sql = "SELECT id, name, age FROM Employee"; ResultSet rs = stmt.executeQuery(sql); //STEP 5: Extract data from result set while (rs.next()) { //Retrieve by column name int id = rs.getInt("id"); String name = rs.getString("name"); int age = rs.getInt("age"); //Display values System.out.print("ID: " + id); System.out.print(", Name: " + name); System.out.println(", Age: " + age); } //STEP 6: Clean-up environment rs.close(); stmt.close(); conn.close(); } catch (SQLException se) { //Handle errors for JDBC se.printStackTrace(); } catch (Exception e) { //Handle errors for Class.forName e.printStackTrace(); } finally { //finally block used to close resources try { if (stmt != null) stmt.close(); } catch (SQLException se2) { }// nothing we can do try { if (conn != null) conn.close(); } catch (SQLException se) { se.printStackTrace(); }//end finally try JavaWeb连接SQL Server可以使用JDBC驱动程序。首先需要在项目中导入sqljdbc.jar驱动包,然后使用JDBC API和配置好的数据库连接信息连接数据库,进行CRUD操作。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值