Web连接数据库方法
- 格式:pdf
- 大小:170.72 KB
- 文档页数:7
web.config中配置数据库连接的两种⽅式在⽹站开发中,数据库操作是经常要⽤到的操作,中⼀般做法是在web.config中配置数据库连接代码,然后在程序中调⽤数据库连接代码,这样做的好处就是当数据库连接代码需要改变的时候,我们只要修改web.config中的数据库连接代码即可,⽽不必在修改每⼀个页⾯中的数据库连接代码。
在中有两种配置数据库连接代码的⽅式,它们分别是appSettings和connectionStrings。
在使⽤ appSettings 和connectionStrings 配置数据库连接代码时,可分别在 <configuration> 下添加如下代码:1. appSettings<appSettings><add key="conn" value="server=服务器名;database=数据库名;uid=⽤户名;password=密码;"/></appSettings>2. connectionStrings<connectionStrings><add name="conn" connectionString="Dserver=服务器名;database=数据库名;uid=⽤户名;password=密码" providerName="System.Data.SqlClient"/></connectionStrings>(1) appSettings 是在 2003 中常⽤的,connectionStrings 是在 2005 中常⽤的;(2) 使⽤ connectionStrings 的好处:第⼀,可将连接字符串加密,使⽤MS的⼀个加密⼯具即可;第⼆,可直接绑定数据源控件,⽽不必写代码读出来再赋值给控件;第三,可⽅便的更换数据库平台,如换为 Oracle 数据库,只需要修改 providerName。
JavaWeb程序连接SQLserver数据库声明:⼀直以来都以为javaweb程序连接数据库是⼀个很⾼⼤上很难的问题,结果今天学习了⼀下,不到两个⼩时就解决了,所以总结⼀篇博客。
JavaWeb程序连接SQLserver数据库分为⼀下步骤:1:在下载sqljdbc.jar的压缩包2:解压之后,将sqljdbc4.jar复制粘贴到你项⽬的WEB-INF的lib⽬录下3:需要知道⼀些数据库⽅⾯的技术知识:先举个例⼦:下⾯是驱动程序建⽴连接所需要的步骤:1try{2 Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");34 String URL = "jdbc:sqlserver://localhost:1433;DatabaseName=user";56 Connection conn = DriverManager.getConnection(URL, userName, userPwd);//userName是你数据库的⽤户名如sa,7 conn.println("连接数据库成功");8 conn.close();910 }catch (Exception e){1112 out.println("数据库连接失败");1314 }View Code1>:Driver接⼝:java.sql.Driver是所有JDBC驱动程序需要实现的接⼝,这个接⼝提供给不同的数据库⼚商,他们使⽤的接⼝名不同。
-:SQLserver的JDBC驱动的类名:"com.microsoft.sqlserver.jdbc.SQLServerDriver"-:Oracle的JDBC驱动的类名:"oracle.jdbc.driver.OracleDriver"-:MySQL的JDBC驱动的类名:"com.mysql.jdbc.Driver"2>加载与注册JDBC驱动Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");该语句⽤于加载3>JDBC连接数据库的URL表现形式通常分为三个部分(通常⽤:分开):1:协议:在JDBC中唯⼀允许的协议只能为jdbc.2:⼦协议:⼦协议⽤于标识⼀个数据库驱动程序3:⼦名称:具体看下⾯-:连接SQLserver: "jdbc:sqlserver://localhost:1433;DatabaseName=user"-:连接Oracle: "jdbc:thin:@localhost:1521:ORCL"-:连接MySQL: "jdbc:mysql://localhost:3306/databasename"4>执⾏SQL语句接⼝Statement对象,该对象的常⽤⽅法:-:void close() 关闭释放资源-:ResultSet executeQuery(String sql):执⾏某条查询语句并返回结果-:int execulteUpdate(String sql):可以执⾏insert,undate或者delete语句4:看下我第⼀次写的操作数据库的程序:1>先创建⼀个Student类1package com.ll;23public class Student {4private String name;5private String time;6private String banji;7public String getBanji() {8return banji;9 }10public void setBanji(String banji) {11this.banji = banji;12 }13private String sex;14public String getName() {15return name;16 }17public void setName(String name) { = name;19 }20public String getTime() {21return time;22 }23public void setTime(String time) {24this.time = time;25 }2627public String getSex() {28return sex;29 }30public void setSex(String sex) {31this.sex = sex;32 }333435 }2>写dao层与数据库连接的部分,1package dao;2import com.ll.Student;//本⾏及以下是导⼊SQL以及所需的包3import java.sql.Connection;4import java.sql.DriverManager;5import java.sql.PreparedStatement;6import java.sql.ResultSet;7import java.sql.Statement;8import java.util.ArrayList;9public class Studentdao10 {11public ArrayList queryAllStudents() throws Exception12 {//实现对数据库的访问13 Connection conn = null;14 ArrayList students = new ArrayList();//定义与初始化ArrayList数组,相当于定义数组,但是容量⽐数组⼤15 StringBuffer str= new StringBuffer();16try {17//获取连接18 String driverName = "com.microsoft.sqlserver.jdbc.SQLServerDriver"; //加载JDBC驱动19 String dbURL = "jdbc:sqlserver://localhost:1433;DatabaseName=StudentManagement"; //连接服务器和数据库sample 20//运⾏SQL语句21 String userName = "sa"; //默认⽤户名22 String userPwd = "zongjin123";23 Class.forName(driverName);24 conn = DriverManager.getConnection(dbURL, userName, userPwd);25if(conn!=null)26 {27 System.out.println("Connection Successful!"); //如果连接成功控制台输出28 }29else{3031 System.out.println("Connection fail!");32return students;33 }3435//密码36 String sql = "select * from student";//SQL语句,选择数据表student中的所有数据37 Statement stat = conn.createStatement();38 ResultSet rs = stat.executeQuery(sql);//定义ResultSet类,⽤于接收获取的数据39while (rs.next())40 {41//实例化VO42 Student student=new Student();43 student.setName(rs.getString("姓名"));44 student.setBanji(rs.getString("班级"));45 student.setSex(rs.getString("性别"));46 student.setTime(rs.getString("年龄"));47 students.add(student);48 }49 rs.close();50 stat.close();51 }52catch (Exception e1)53 {54 e1.printStackTrace();55 }56finally57 {58try59 {//关闭连接60if(conn!=null)61 {62 conn.close();63 conn=null;64 }65 }66catch(Exception ex)67 {68 }69return students;70 }71 }72 }3>创建index.jsp⽂件<%@ page language="java" contentType="text/html; charset=GB18030"pageEncoding="GB18030"%><%@page import = "java.util.*" %><%@page import = "java.sql.*" %><%@page import="com.ll.Student" %><%@page import="dao.Studentdao" %><!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "/TR/html4/loose.dtd"> <html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><style type="text/css">#body {background-color: #FFD2BD;}</style><title>JSP Page</title></head><body id="body"><h1>学⽣信息如下所⽰:</h1><br><%Studentdao studentDao=new Studentdao();ArrayList students=studentDao.queryAllStudents();%><table border="1" ><tr ><td >年龄</td><td>姓名</td><td>性别</td><td>班级</td></tr><%for(int i=0;i<students.size();i++){Student student=(Student)students.get(i);%><tr><td><%=student.getSex() %></td><td><%=student.getName() %></td><td><%=student.getSex() %></td><td><%=student.getBanji() %></td></tr><%}%></table></body></html>4>前提是你在你的SQLserver数据库上创建了⼀个表,并且有数据.5.结果为:。
数据库的连接rogerwen@数据库的连接方式ODBC早期的数据库连接是非常困难的. 每个数据库的格式都不一样,开发者得对他们所开发的每种数据库的底层API有深刻的了解. 因此,能处理各种各样数据库的通用的API就应运而生了. 也就是现在的ODBC(Open Database Connectivity), ODBC是人们在创建通用API的早期产物. 有许多种数据库遵从了这种标准,被称为ODBC兼容的数据库. ODBC兼容的数据库包括Access, MS-SQL Server, Oracle, Informix等.⏹OLE-DB(Object Linking and Embedding DataBase)对象链接和嵌入数据库。
它依赖于COM和提供OLE DB提供者的厂商而非ODBC使用的SQL。
⏹ADO(ActiveX Data Object)ActiveX数据对象。
基于OLE-DB建立连接的局部和远程数据库访问技术。
ODBCODBC(Open Database Connectivity,开放数据库互连)是微软公司开放服务结构(WOSA,Windows Open Services Architecture)中有关数据库的一个组成部分,它建立了一组规范,并提供了一组对数据库访问的标准API(应用程序编程接口)。
这些API利用SQL来完成其大部分任务。
ODBC本身也提供了对SQL语言的支持,用户可以直接将SQL语句送给ODBC。
---出现的最早,但不总是万能。
OLE DBOLE DB 是Microsoft 的一个战略性系统级编程接口,用于管理整个组织内的数据。
OLE DB 是建立在ODBC 功能之上的一个开放规范。
ODBC 是为访问关系型数据库而专门开发的,OLE DB 则用于访问关系型和非关系型信息源,例如主机ISAM/VSAM 和层次数据库,电子邮件和文件系统存储,文本、图形和地理数据以及自定义业务对象。
webapi连接数据库的方法连接数据库是开发webapi时经常会用到的操作,可以通过以下几种方式连接数据库:- 引入命名空间:使用using语句引入System.Data和System.Data.SqlClient命名空间;-创建连接字符串:将数据库连接所需的信息,如数据库服务器地址、用户名、密码等,放在连接字符串中;- 创建连接对象:使用SqlConnection类创建连接对象,并将连接字符串作为参数传入;- 打开连接:使用Open(方法打开数据库连接;- 关闭连接:操作完数据库后,需要调用Connection对象的Close(方法关闭数据库连接。
```csharpusing System;using System.Data;using System.Data.SqlClient;namespace WebApiDemopublic class DatabaseConnectionpublic void ConnectDatabase//创建连接对象using (SqlConnection connection = newSqlConnection(connectionString))try//打开连接connection.Open(;//执行SQL语句string sql = "SELECT * FROM Customers";//执行查询while (reader.Read()//处理查询结果string name = reader.GetString(reader.GetOrdinal("Name"));int age = reader.GetInt32(reader.GetOrdinal("Age"));Console.WriteLine("Name: {0}, Age: {1}", name, age);}}}}catch (Exception ex)Console.WriteLine(ex.Message);}finally//关闭连接connection.Close(;}}}}```2.使用ORM框架连接数据库:ORM(Object-Relational Mapping)框架是一种将面向对象语言的对象与数据库中的表相映射的技术。
webapi连接数据库的方法
网站开发中,连接数据库的方法通常是通过Web API来实现的。
下面是一种常见的方法:
1.选取合适的数据库系统,如MySQL、Oracle、SQL Server等,并安装好数据库软件。
2.创建一个Web API项目,如使用 Core创建一个新
的Web API应用。
3.在Web API项目中,使用合适的数据库连接库(如
、Entity Framework等)来连接数据库。
4.编写代码来建立数据库连接,并执行相应的数据库操作,如
查询、插入、更新和删除等。
5.根据需要,将数据库操作封装为不同的API接口,以便客户
端通过HTTP请求调用。
6.通过客户端(如浏览器、移动应用等)发起HTTP请求,调
用相应的API接口。
7.API接口接收到请求后,进行相应的数据库操作,并将结果
返回给客户端。
8.客户端根据接口返回的数据进行相应的处理,如显示数据、
更新数据等。
需要注意的是,在连接数据库时需要确保数据库的连接字符串、用户名和密码等敏感信息是安全的,并且要正确处理数据库操作中可能出现的异常情况,以确保系统的可靠性和安全性。
一、连接各种数据库方式速查表下面罗列了各种数据库使用JDBC连接的方式,可以作为一个手册使用。
1、Oracle8/8i/9i数据库(thin模式)Class.forName(“oracle.jdbc.driver.OracleDriver“).newInstance();String url=“jdbc:oracle:thin:@localhost:1521:orcl“; //orcl为数据库的SID String user=“test“;String password=“test“;Connection conn= DriverManager.getConnection(url,user,password);2、DB2数据库Class.forName(“com.ibm.db2.jdbc.app.DB2Driver “).newInstance();String url=“jdbc:db2://localhost:5000/sample“; //sample为你的数据库名String user=“admin“;String password=““;Connection conn= DriverManager.getConnection(url,user,password);3、Sql Server7.0/2000数据库Class.forName(“com.microsoft.jdbc.sqlserver.SQLServerDriver“).newInstance(); String url=“jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=mydb“;//mydb为数据库String user=“sa“;String password=““;Connection conn= DriverManager.getConnection(url,user,password);4、Sybase数据库Class.forName(“com.sybase.jdbc.SybDriver“).newInstance();String url =“ jdbc:sybase:Tds:localhost:5007/myDB“;//myDB为你的数据库名Properties sysProps = System.getProperties();SysProps.put(“user“,“userid“);SysProps.put(“password“,“user_password“);Connection conn= DriverManager.getConnection(url, SysProps);5、Informix数据库Class.forName(“rmix.jdbc.IfxDriver“).newInstance();String url = “jdbc:informix-sqli://123.45.67.89:1533/myDB:INFORMIXSERVER=myserver; user=testuser;password=testpassword“; //myDB为数据库名Connection conn= DriverManager.getConnection(url);6、MySQL数据库Class.forName(“org.gjt.mm.mysql.Driver“).newInstance();String url =“jdbc:mysql://localhost/myDB?user=soft&password=soft1234&useUnicode=true&charac terEncoding=8859_1“//myDB为数据库名Connection conn= DriverManager.getConnection(url);7、PostgreSQL数据库Class.forName(“org.postgresql.Driver“).newInstance();String url =“jdbc:postgresql://localhost/myDB“ //myDB为数据库名String user=“myuser“;String password=“mypassword“;Connection conn= DriverManager.getConnection(url,user,password);8、access数据库直连用ODBC的Class.forName(“sun.jdbc.odbc.JdbcOdbcDriver“) ;String url=“jdbc:odbc:Driver={MicroSoft Access Driver (*.mdb)};DBQ=“+application.getRealPath(“/Data/ReportDemo.mdb“);Connection conn = DriverManager.getConnection(url,““,“”);Statement stmtNew=conn.createStatement() ;二、JDBC连接MySql方式下面是使用JDBC连接MySql的一个小的教程1、查找驱动程序MySQL目前提供的java驱动程序为Connection/J,可以从MySQL官方网站下载,并找到mysql-connector-java-3.0.15-ga-bin.jar文件,此驱动程序为纯java驱动程序,不需做其他配置。
webapi连接数据库的方法连接数据库是开发Web API的重要一步,数据库用于存储和管理数据,通过连接数据库,我们可以在Web API中对数据进行增删改查操作。
下面将介绍一种常用的方法来连接数据库。
1.选择适当的数据库管理系统(DBMS)首先,我们需要选择适合我们开发需求的数据库管理系统(DBMS)。
常用的DBMS包括MySQL、SqlServer、Oracle等。
我们需要根据具体情况来选择。
2.安装数据库管理系统3.创建数据库安装完成后,我们需要创建一个数据库来存储数据。
可以使用DBMS提供的命令行工具或者图形界面工具来创建数据库。
4.创建数据库表在数据库中,数据以表的形式进行组织。
我们需要根据我们的需求来创建相应的表,并定义表的结构,包括列名、列类型、主键等。
5.安装数据库连接驱动程序6. 在Web API项目中添加数据库连接配置在我们的Web API项目中,我们需要添加数据库连接的配置。
配置包括数据库连接字符串、连接超时时间、最大连接数等信息。
不同的开发框架和编程语言有相应的配置方式,我们需要按照具体情况来配置。
7.建立数据库连接对象在我们的Web API代码中,我们需要建立一个数据库连接对象,用于与数据库进行交互。
我们需要使用数据库连接驱动程序提供的API来建立连接对象。
8.打开数据库连接连接对象建立好后,我们需要调用打开连接的方法,打开与数据库的连接。
此时,我们的Web API就与数据库建立了连接,并可以进行相关的操作。
9.执行数据库查询操作连接成功后,我们可以使用SQL语句来进行数据库查询操作,比如查询数据,插入数据,更新数据等。
我们需要根据具体的DBMS和API提供的方法来执行相应的查询操作。
10.关闭数据库连接在我们的Web API完成数据库操作后,我们需要调用关闭连接的方法,关闭与数据库的连接。
这样可以释放资源,并确保数据库连接对象被正确关闭。
JAVA Web开发中与数据库的连接操作,配置等数据库:postgre 9.0 开发环境:MyEclipise 8.5 作者:J蛋炒饭Step 1:新建数据库。
新建登录角色,在新建数据库的时候把数据库的所有权交给你新建的角色。
用用户和密码控制数据库。
保证数据库的安全Step 2:编写context.xml文件Xml文件的目的是封装用户和密码,也是封装的一种,方便操作。
以下为context.xml文件样例:<?xml version="1.0"encoding="utf-8"?><Context reloadable = "true"><Resourcename="jdbc/sampleHS"type="javax.sql.DataSource"maxActive="14"maxIdle="10"username="hstaoshu"maxWait="5000"driverClassName="org.postgresql.Driver"password="hstaoshu"url="jdbc:postgresql://localhost:5432/hstaoshu"/></Context>详细说明:name="jdbc/sampleHS"里面的ssampHS是可改名称,建议根据需要自己命名;username="hstaoshu"password="hstaoshu"此两项为你新建的数据库登录角色用户名和密码信息,只有匹配了才能访问。
这里简单为了表示,把用户名和密码弄成了跟数据库名字一样。
对于数据库的连接文件(常用的是conn.asp),我有两个建议,一是在网上最好使用手写的连接文件(下面详细讲如何写),二是引用数据库时要在文件开头使用<--#include file="Connections/conn.asp" -->,调用数据库,这样数据库的名字或位置的改变就比较容易了。
其次,解释一下如何写一个conn.asp文件。
最简单的是<%dim conndim connstrconnstr="DBQ="+server.mappath("data/database.mdb")+";Default Dir=;DRIVER={Microsoft Access Driver (*.mdb)};"set conn=server.createobject("ADODB.CONNECTION")conn.open connstr%><%set conn=server.createobject("ADODB.CONNECTION")connstr="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & server.mappath("data/database.mdb")'如果你的服务器采用较老版本Access驱动,请用下面连接方法'connstr="driver={Microsoft Access Driver (*.mdb)};dbq=" & server.mappath("data/database.mdb")conn.open connstr%>关于server.mappath("data/database.mdb")解释一下。
Javaweb连接数据库登录方法1.开启Eclipse,单击Flie→New→Web Project。
2.在Project Name文本框中写入logindemo其它保持默认选项单击Finish按钮。
此时在Package Explorer(包浏览器)中出现我们新建的项目,把项目展开在src文件夹上单击右键选择New→Package 出现New Java Package对话框。
3.在Name文本框中写入register单击Finish按钮。
在src文件夹中新建了一个register包,用同样的方法在src文件夹中建一个login包。
右键单击register包选择New→Class出现New Java Class 对话框。
4.在Name文本框中填写Register单击Finish按钮。
在register 包下生成Register.java文件,更改其内容如下:package register;import java.io.*;import java.util.*;import javax.servlet.*;import javax.servlet.http.*;import java.sql.*;//import com.mysql.jdbc.*;public class Register extends HttpServlet{private String name;private String pass;private String confirm;public synchronized void doPost(HttpServletRequest request,HttpServletResponse response)throws ServletException,IOException{/doc/a77298536.html,=request.getPar ameter("account");this.pass=request.getParameter("password");this.confirm=request.getParameter("confirm");PrintWriter out=response.getWriter();//驱动程序名String driverName="com.mysql.jdbc.Driver";//数据库用户名String userName="root";//密码String userPasswd="123456";//数据库名String dbName="database";//表名String tableName="users";//联结字符串Stringurl="jdbc:mysql://localhost/"+dbName+"?user="+userNam e+"&password="+userPasswd;try{Class.forName("org.gjt.mm.mysql.Driver");Connection connection=DriverManager.getConnection(url);Statement statement = connection.createStatement();String sql="SELECT * FROM "+tableName;ResultSet rs=statement.executeQuery(sql);while(true){if(rs.next()){if(/doc/a77298536.html,.equals(rs.get String(1)))out.print(""+"User Name is in Database!");break;}}else{sql="INSERT INTO "+tableName+" VALUES('"+/doc/a77298536.html,+"','"+th is.pass+"')";statement.execute(sql);out.print(""+"Register Successful!");break;}}return;}catch(SQLException e){}catch(ClassNotFoundException e){}}public synchronized void doGet(HttpServletRequest request,HttpServletResponse response)throws ServletException,IOExceptiondoPost(request,response);}}用同样的方法在login包下建一个Login.java文件,其内容如下:package login;import java.io.*;import java.util.*;import javax.servlet.*;import javax.servlet.http.*;import java.sql.*;//import com.mysql.jdbc.*;public class Login extends HttpServlet{private String name;private String pass;public synchronized void doPost(HttpServletRequest request,HttpServletResponse response)throws ServletException,IOException{/doc/a77298536.html,=request.getPar ameter("account");this.pass=request.getParameter("password");PrintWriter out=response.getWriter();//驱动程序名String driverName="com.mysql.jdbc.Driver";//数据库用户名String userName="root";//密码String userPasswd="123";//数据库名String dbName="database";//表名String tableName="users";//联结字符串Stringurl="jdbc:mysql://localhost/"+dbName+"?user="+userNam e+"&password="+userPasswd;try{Class.forName("org.gjt.mm.mysql.Driver");Connection connection=DriverManager.getConnection(url);Statement statement = connection.createStatement();String sql="SELECT * FROM "+tableName;ResultSet rs = statement.executeQuery(sql);while(true){if(rs.next()){if((/doc/a77298536.html,.equals(rs.get String(1)))&&(this.pass.equals(rs.getString(2)))){out.print(""+"Login Success!");break;}}else{out.print(""+"Account or Password Is Invalid!");break;}}return;}catch(SQLException e){}catch(ClassNotFoundException e){}}public synchronized void doGet(HttpServletRequest request,HttpServletResponse response)throws ServletException,IOException{doPost(request,response);}}在WebRoot文件夹上单击右键点击New→JSP出现Create a new JSP page对话框在File Name文本框中填写index.jsp单击Finish按钮。
本文部分内容来自网络整理,本司不为其真实性负责,如有异议或侵权请及时联系,本司将立即删除!== 本文为word格式,下载后可方便编辑和修改! ==web连接数据库范例篇一:myeclipse 连接数据库建立web工程简单测试访问成功例子Myeclipse 连接数据库测试查询成功一,建立数据库首先建立数据库,在数据库里建立表格,填充内容。
以navicat for MySql为例二,建立web工程三,连接数据库1,打开Database。
点击window窗口点击Open Perspective菜单中的MyEclipse Database Explorer2,创建连接。
在空白处右击鼠标新建(即new)或者点击菜单栏中的快捷键(图二中向下的三角符号)新建3,弹出Database Driver 菜单4,选择连接方式。
在Driver template选项框中选择MySql Connector/j篇二:web数据库java中有两种包的导入机制,总结如下:单类型导入(single-type-import),例如 import java.io.File; 按需类型导入(type-import-on-demand),例如 import java.io.*; 单类型导入比较好理解,仅仅导入一个public类或者接口。
对于按需类型导入( importjava.io.*;),有人误解为导入一个包下的所有类,其实不然,看名字就知道,他只会按需导入,也就是说它并非导入整个包,而仅仅导入当前类需要使用的类。
对于单类型导入很简单,因为包明和文件名都已经确定,所以可以一次性查找定位。
对于按需类型导入则比较复杂,编译器会把包名和文件名进行排列组合,然后对所有的可能性进行类文件查找定位。
而要访问不同包或不同项目之间的类的方法就需要用到import导包,不同的导包方法如下,现以简易的图书管理系统实例说明:数据库目录结构如下1)同包引用每个java文件都会在最上面引入一个package+所在包,这样就可以使得用户可以访问相同包下的所有public类或者接口。
JavawebHibernate如何与数据库链接java web添加structs特性后再添加Hibernate特性,这可以通过右键⼯程->my eclipse出现⼯具条选中相应的条⽬,添加相应的属性,添加完Hibernate后建⽴与数据库的链接,然后就可以进⾏反向了,讲⼀下建⽴数据库连接:在my eclipse中选中window->other perspective 打开DB browser,如下图:接下来在空⽩处右键,新建连接即可弹出如下对话框:接下来选择相应的Driver template⼀般和数据库有关,mysql⼀般选My sql connect;在Driver name处为链接命名,随便起,不重即可;在Connection URL处设置数据库链接,链接sql server格式如下:jdbc:sqlserver://<server_name>:<port>[;databaseName=<dbname>]⽰例:本机:jdbc:sqlserver://localhost:1433;databaseName=test远程:jdbc:sqlserver://111.111.7.13:1433;databaseName=test远程只需将localhost改为远程机器IP即可;sql server⼀般端⼝为1433;User name要同管理员分配给你的⼀样,密码也是,要对应;最后添加相应的数据库驱动包即可,点击test driver进⾏测试;产⽣如上对话框即测试成功;连接后,在DB browser处打开相应的表进⾏反向:反向时,右键点击相应的表,选中反向⼯程,弹出如下对话框:第⼀个红线出选择⼯程下的src,第⼆个红线选中提前分好的model包,第四个红线点击后如下图:java package选择dao包,class name命名:表名+Base(不强制)在下⼀步中选择native,如下:完成后finish即可;在Base类中将null给为HibernateSessionFactory.getSession(),再调整⼀下包就好以上就是本⽂的全部内容,希望对⼤家的学习有所帮助,也希望⼤家多多⽀持。
javaweb配置连接mysql数据库1、⾸先新建基础连接类BaseDao,在这⾥配置链接的数据库名称,⽤户名以及密码,以及执⾏读与写操作的⽗⽅法,代码如下:package com.demo.dao;import java.sql.DriverManager;import java.sql.PreparedStatement;import java.sql.SQLException;import java.util.List;/*** 数据库操作类* @author zhangdi**/public class BaseDao {//数据库地址“jdbc:mysql://服务器域名:端⼝号/数据库名称”private String url = "jdbc:mysql://127.0.0.1:3306/mydb?useUnicode=true&characterEncoding=utf-8";//⽤户名private String user = "root";//⽤户密码private String pwd = "zhangdi";//数据库链接对象private java.sql.Connection conn;//数据库命令执⾏对象private PreparedStatement pstmt;//数据库返回结果private java.sql.ResultSet rs;//静态代码块static{//1、加载驱动try {Class.forName("com.mysql.jdbc.Driver");} catch (ClassNotFoundException e) {e.printStackTrace();}}//2、创建连接private void getConnection(){if(conn == null){try {conn = DriverManager.getConnection(url, user, pwd);} catch (SQLException e) {e.printStackTrace();}}}//执⾏读操作⽅法public java.sql.ResultSet executeQuery(String query,List<Object> params){getConnection();try {//3、创建命令执⾏对象pstmt = conn.prepareStatement(query);//4、执⾏if(params!=null && params.size()>0){for(int i=0;i<params.size();i++){pstmt.setObject(i+1, params.get(i));}}rs = pstmt.executeQuery();} catch (SQLException e) {e.printStackTrace();}return rs;}//执⾏写操作⽅法public int executeUpdate(String query,List<Object> params){int result = 0;getConnection();try {//3、创建命令执⾏对象pstmt = conn.prepareStatement(query);//4、执⾏if(params!=null && params.size()>0){for(int i=0;i<params.size();i++){pstmt.setObject(i+1, params.get(i));}}//5、处理结果result = pstmt.executeUpdate();} catch (SQLException e) {e.printStackTrace();}finally{//6、释放资源this.close();}return result;}//关闭资源public void close(){try {if(rs!=null){rs.close();rs = null;}if(pstmt!=null){pstmt.close();pstmt = null;}if(conn!=null){conn.close();conn = null;}} catch (SQLException e) {// TODO Auto-generated catch blocke.printStackTrace();}}}2、第⼆步,就创建⼀个数据库操作接⼝类,采⽤⾯向接⼝的开发思想以便于后期维护,代码如下:package com.demo.dao;import java.util.List;import er;public interface UserDao {public int addUser(User user);public List<User> findUsers();public List<User> findUsers(String name);public List<User> findUsersByDept(String dept);public List<User> findUsersByRole(String role);public int delUserById(int id);public int updateUserById(int id,User role);public boolean checkUser(String name);}3、第三步创建数据库操作对象接⼝实现类并继承数据库操作基础类:package com.demo.daoimpl;import java.sql.ResultSet;import java.sql.SQLException;import java.util.ArrayList;import java.util.List;import com.demo.dao.BaseDao;import com.demo.dao.DeptDao;import com.demo.dao.RoleDao;import erDao;import er;public class UserDaoImpl extends BaseDao implements UserDao {DeptDao deptDao = new DeptDaoImpl();RoleDao roleDao = new RoleDaoImpl();//添加⼀条⽤户信息@Overridepublic int addUser(User user) {String update = "insert into users(account,pwd,NAME,dept,role,phone,qq,email,remark)values(?,?,?,?,?,?,?,?,?)";List<Object> params = new ArrayList<Object>();params.add(user.getAccount());params.add(user.getPwd());params.add(deptDao.returnDeptIdByName(user.getDept()));params.add(roleDao.returnRoleIdByName(user.getRole()));params.add(user.getRole());params.add(user.getPhone());params.add(user.getQq());params.add(user.getEmail());params.add(user.getMark());return this.executeUpdate(update, params);}@Overridepublic List<User> findUsers() {List<User> result = new ArrayList<User>();String query = "select id,account,pwd,NAME,dept,role,phone,qq,email,remark from users";ResultSet rs = this.executeQuery(query, null);try {while(rs.next()){int id = rs.getInt("id");String account = rs.getString("account");String pwd = rs.getString("pwd");String name = rs.getString("NAME");String dept = deptDao.returnDeptNameById(rs.getInt("dept"));String role = roleDao.returnRoleNameById(rs.getInt("role"));String phone ="11";//+ rs.getInt("phone");String qq = "22";//+rs.getInt("qq");String email = rs.getString("email");String mark = rs.getString("remark");User user = new User(id, account,pwd,name,dept,role,phone,qq,email,mark);result.add(user);}} catch (SQLException e) {e.printStackTrace();}finally{this.close();}return result;}@Overridepublic List<User> findUsersByDept(String dept) {List<User> result = new ArrayList<User>();List<Object> params = new ArrayList<Object>();String query = "select id,account,pwd,NAME,dept,role,phone,qq,email,remark from users where dept =?";if(dept!=null&&!"".equals(dept)){int d = deptDao.returnDeptIdByName(dept);params.add(d);}ResultSet rs = this.executeQuery(query, params);try {while(rs.next()){int id = rs.getInt("id");String account = rs.getString("account");String pwd = rs.getString("pwd");String name = rs.getString("NAME");String deptName = deptDao.returnDeptNameById(rs.getInt("dept"));String role = roleDao.returnRoleNameById(rs.getInt("role"));String phone = Integer.toString(rs.getInt("phone"));String qq = Integer.toString(rs.getInt("qq"));String email = rs.getString("email");String mark = rs.getString("remark");User user = new User(id, account,pwd,name,deptName,role,phone,qq,email,mark);result.add(user);}} catch (SQLException e) {e.printStackTrace();}finally{this.close();}return result;}@Overridepublic List<User> findUsersByRole(String role) {List<User> result = new ArrayList<User>();List<Object> params = new ArrayList<Object>();String query = "select id,account,pwd,NAME,dept,role,phone,qq,email,remark from users where role =?";if(role!=null&&!"".equals(role)){int d = roleDao.returnRoleIdByName(role);params.add(d);}ResultSet rs = this.executeQuery(query, params);try {while(rs.next()){int id = rs.getInt("id");String account = rs.getString("account");String pwd = rs.getString("pwd");String name = rs.getString("NAME");String deptName = deptDao.returnDeptNameById(rs.getInt("dept"));String roleName = roleDao.returnRoleNameById(rs.getInt("role"));String phone = Integer.toString(rs.getInt("phone"));String qq = Integer.toString(rs.getInt("qq"));String email = rs.getString("email");String mark = rs.getString("remark");User user = new User(id, account,pwd,name,deptName,roleName,phone,qq,email,mark);result.add(user);}} catch (SQLException e) {e.printStackTrace();}finally{this.close();}return result;}@Overridepublic int delUserById(int id) {String query = "delete from users where id = ?";List<Object> params = new ArrayList<Object>();params.add(id);return this.executeUpdate(query, params);}@Overridepublic int updateUserById(int id, User role) {// TODO Auto-generated method stubreturn 0;}@Overridepublic boolean checkUser(String name) {List<User> list = new ArrayList<User>();list = this.findUsers();for(User u:list){if(u.getName().equals(name)){return true;}}return false;}@Overridepublic List<User> findUsers(String name) {List<User> result = new ArrayList<User>();List<Object> params = new ArrayList<Object>();String query = "select id,account,pwd,NAME,dept,role,phone,qq,email,remark from users where 1=1";if(name!=null&&!"".equals(name)){query = query+" and NAME like ?";params.add("%"+name+"%");}ResultSet rs = this.executeQuery(query, params);try {while(rs.next()){int id = rs.getInt("id");String n = rs.getString("name");String desc = rs.getString("desc");User user = new User();result.add(user);}} catch (SQLException e) {e.printStackTrace();}finally{this.close();}return result;}}这⾥⾯role与dept也是两个数据库操作类,⼤家可以忽略,其中User为实体类,代码如下:package com.demo.entity;public class User {private int id;private String account;private String pwd;private String name;private String dept;private String role;private String phone;private String qq;private String mark;private String email;public String getEmail() {return email;}public void setEmail(String email) {this.email = email;}public int getId() {return id;}public void setId(int id) {this.id = id;}public String getAccount() {return account;}public void setAccount(String account) {this.account = account;}public String getPwd() {return pwd;}public void setPwd(String pwd) {this.pwd = pwd;}public String getName() {return name;}public void setName(String name) { = name;}public String getDept() {return dept;}public void setDept(String dept) {this.dept = dept;}public String getRole() {return role;}public void setRole(String role) {this.role = role;}public String getPhone() {return phone;}public void setPhone(String phone) {this.phone = phone;}public String getQq() {return qq;}public void setQq(String qq) {this.qq = qq;}public String getMark() {return mark;}public void setMark(String mark) {this.mark = mark;}public User() {super();// TODO Auto-generated constructor stub}public User(int id, String account, String pwd, String name, String dept, String role, String phone, String qq, String mark, String email) { super();this.id = id;this.account = account;this.pwd = pwd; = name;this.dept = dept;this.role = role;this.phone = phone;this.qq = qq;this.mark = mark;this.email = email;}public User(String account, String pwd, String name,int id) {super();this.account = account;this.pwd = pwd; = name;this.id = id;}}⾄此,web后台与mysql数据库的链接就完成了,如果要执⾏对数据库的操作就调⽤数据库操作类即可。
web.config配置数据库连接第一种:取连接字符串string connString = System.Web.Configuration.WebConfigurationManager.Connecti onStrings["SqlConnStr"].ConnectionString;或者protected static string connectionString = ConfigurationManager.ConnectionStrings ["SqlConnStr"].ConnectionString;web.config文件:加在</configSections>后面<connectionStrings><remove name="LocalSqlServer"/><add name="SqlConnStr" connectionString="user id=xx;password=xx;initial catal og=database_name;data source=.\sqlxxxx"/></connectionStrings>第二种:取连接字符串:string myvar=configurationsettings.appsettings["connstring"];web.config文件:加在<appsettings>和</appsettings> 之间<appsettings><add key="connstring" value="uid=xx;pwd=xx;database=batabase_name;server=(local)"/></appsettings>据说两者通用,但是第二种是2.0的新特性,建议使用第二种。