jdbc连接数据库

1、开发环境准备

JDK 1.8.0_111

Eclipse Neon

Tomcat 7

Sql server2008

2、所需jar包

sqljdbc4-4.0.jar

3、代码

数据库操作公共类 DataBaseUtil.java

package com.mozi.dbutil;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
/**
 * 数据库连接工具类
 */
public class DataBaseUtil {
    /**
     * 获取数据库连接
     * @return Connection对象
     */
    public static Connection getConnection(){
        Connection conn = null;
        try {
            // 加载驱动
            Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
            // 数据库连接url
            String url = "jdbc:sqlserver://192.168.3.120:1433;databaseName=AnzhenTest";
            // 获取数据库连接
            conn = DriverManager.getConnection(url, "sa", "sinopacs");
        } catch (Exception e) {
            e.printStackTrace();
        }
        return conn;
    }
    /**
     * 关闭数据库连接
     * @param conn Connection对象
     */
    public static void closeConnection(Connection conn){
        // 判断conn是否为空
        if(conn != null){
            try {
                conn.close();    // 关闭数据库连接
            } catch (SQLException e) {
                e.printStackTrace();
            }
        }
    }
}
package com.mozi.entity;

public class WebUser {
    private String name;
    private String trueName;
    private String pass;
    public String getName() {
        return name;
    }
    public void setName(String name) {
        this.name = name;
    }
    public String getTrueName() {
        return trueName;
    }
    public void setTrueName(String tureName) {
        this.trueName = tureName;
    }
    public String getPass() {
        return pass;
    }
    public void setPass(String pass) {
        this.pass = pass;
    }
    @Override
    public String toString() {
        return "WebUser [Name=" + name + ", TureName=" + trueName + ", Pass=" + pass + "]";
    }
    
    
}
package com.mozi.dao;

import java.util.List;
import com.mozi.entity.*;

public interface IWebUserDao {
    /**根据用户名称模糊查询用户信息*/
    public List<WebUser> findUserByName(String username);

    /** 添加用户*/
    public void insertUser(WebUser user);

    /** 根据ID删除用户*/
    public void deleteUser(String id);

    /** 根据ID更新用户*/
    public void updateUser(WebUser user);
}
package com.mozi.dao.impl;

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

import com.mozi.dao.IWebUserDao;
import com.mozi.dbutil.DataBaseUtil;
import com.mozi.entity.WebUser;

public class WebUserDaoJdbc implements IWebUserDao {

    @Override
    public List<WebUser> findUserByName(String username) {
        List<WebUser> result = null;
        // 获取数据库连接Connection对象
        Connection conn = DataBaseUtil.getConnection();
        // 根据指定用户名查询用户信息
        String sql = "select * from WebUsers where Name like ?";
        try {
            // 获取PreparedStatement对象
            PreparedStatement ps = conn.prepareStatement(sql);
            ps.setString(1, "%"+ username+"%");
            // 执行查询获取结果集
            ResultSet rs = ps.executeQuery();
            // 判断结果集是否有效
            while(rs.next()){
                if(result==null)
                {
                    result = new ArrayList<WebUser>();
                }
                WebUser user =new WebUser();
                user.setName(rs.getString(1));
                user.setTrueName(rs.getString(2));
                user.setPass(rs.getString(3));
                result.add(user);
            }
            // 释放此 ResultSet 对象的数据库和 JDBC 资源
            rs.close();
            // 释放此 PreparedStatement 对象的数据库和 JDBC 资源
            ps.close();
        } catch (SQLException e) {
            e.printStackTrace();
        }finally{
            // 关闭数据库连接
            DataBaseUtil.closeConnection(conn);
        }
        return result;
    }

    @Override
    public void insertUser(WebUser user) {
        // 获取数据库连接Connection对象
        Connection conn = DataBaseUtil.getConnection();
        // 插入用户注册信息的SQL语句
        String sql = "insert into WebUsers(Name,TrueName,Pass) values(?,?,?)";
        try {
            // 获取PreparedStatement对象
            PreparedStatement ps = conn.prepareStatement(sql);
            // 对SQL语句的占位符参数进行动态赋值
            ps.setString(1, user.getName());
            ps.setString(2, user.getTrueName());
            ps.setString(3, user.getPass());
            // 执行更新操作
            ps.executeUpdate();
            // 释放此 PreparedStatement 对象的数据库和 JDBC 资源
            ps.close();
        } catch (Exception e) {
            e.printStackTrace();
        }finally{
            // 关闭数据库连接
            DataBaseUtil.closeConnection(conn);
        }
    }

    @Override
    public void deleteUser(String id) {
        // 获取数据库连接Connection对象
        Connection conn = DataBaseUtil.getConnection();
        // 插入用户注册信息的SQL语句
        String sql = "delete from WebUsers where Name =? ";
        try {
            // 获取PreparedStatement对象
            PreparedStatement ps = conn.prepareStatement(sql);
            // 对SQL语句的占位符参数进行动态赋值
            ps.setString(1, id);
            // 执行更新操作
            ps.executeUpdate();
            // 释放此 PreparedStatement 对象的数据库和 JDBC 资源
            ps.close();
        } catch (Exception e) {
            e.printStackTrace();
        }finally{
            // 关闭数据库连接
            DataBaseUtil.closeConnection(conn);
        }
    }

    @Override
    public void updateUser(WebUser user) {
        // 获取数据库连接Connection对象
        Connection conn = DataBaseUtil.getConnection();
        // 插入用户注册信息的SQL语句
        String sql = "update WebUsers set Name=?,TrueName=?,Pass=? where Name = ?";
        try {
            // 获取PreparedStatement对象
            PreparedStatement ps = conn.prepareStatement(sql);
            // 对SQL语句的占位符参数进行动态赋值
            ps.setString(1, user.getName());
            ps.setString(2, user.getTrueName());
            ps.setString(3, user.getPass());
            ps.setString(4, user.getName());
            // 执行更新操作
            ps.executeUpdate();
            // 释放此 PreparedStatement 对象的数据库和 JDBC 资源
            ps.close();
        } catch (Exception e) {
            e.printStackTrace();
        }finally{
            // 关闭数据库连接
            DataBaseUtil.closeConnection(conn);
        }
}

}
USE [Test]
GO

/****** Object:  Table [dbo].[WebUsers]    Script Date: 01/12/2017 10:35:27 ******/
SET ANSI_NULLS ON
GO

SET QUOTED_IDENTIFIER ON
GO

CREATE TABLE [dbo].[WebUsers](
    [Name] [nvarchar](20) NOT NULL,
    [TrueName] [nvarchar](20) NULL,
    [Pass] [nvarchar](20) NULL,
    [Dept] [nvarchar](100) NULL,
    [Comments] [nvarchar](30) NULL,
    [LastLoginHost] [nvarchar](30) NULL,
    [LastLoginDate] [datetime] NULL,
    [Privilege] [nvarchar](50) NULL,
    [Enable] [bit] NULL,
    [BeyondIPLimit] [bit] NULL,
 CONSTRAINT [PK_WebUsers] PRIMARY KEY CLUSTERED 
(
    [Name] ASC
)WITH (PAD_INDEX  = OFF, STATISTICS_NORECOMPUTE  = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS  = ON, ALLOW_PAGE_LOCKS  = ON) ON [PRIMARY]
) ON [PRIMARY]

GO

 

posted @ 2017-01-12 10:37  小李飞刀86  阅读(197)  评论(0编辑  收藏  举报