java与sql数据库连接
注意:在使用这个类的时候,先将对应数据库的驱动包(JAR包),复制进项目的WebRoot文件夹下的WEB-INF文件夹下的lib文件夹下,切记必须要对应的JAR包,否则无法使用数据库的
import java.sql.*;
public class BaseDAO {
private static final String DRIVER = "com.microsoft.sqlserver.jdbc.SQLServerDriver";//注意:此驱动是SQL2005及以上版本的导入驱动包连接字符串
private static final String CONNECTION = "jdbc:sqlserver://localhost:1433;databaseName=Employee"; //数据库连接字符串,databaseName就是你要连接的数据库名,
private static final String NAME = "sa"; //数据库用户名
private static final String PWD = "sa"; //数据库密码
public static Connection GetConnection() {
Connection con = null;
try {
Class.forName(DRIVER);
con = DriverManager.getConnection(CONNECTION, NAME, PWD);
} catch (Exception e) {
// TODO: handle exception
e.printStackTrace();
}
return con;
}
public static void close(ResultSet rs, PreparedStatement ps, Connection con) {
try {
if (null != rs) {
rs.close();
}
if (null != ps) {
ps.close();
}
if (null != con) {
con.close();
}
} catch (Exception e) {
e.printStackTrace();
}
}
}
㈡ java连接sql数据库。实现增删改查怎么写。谁有实例
最少需要三个类文件吧;
conn连接数据库类;
bean数据库映射类;
增删改查方法类;
代码很多呢,我有现成的工程文件,你要可以发给你一份;
㈢ Java连接SQL2005数据库
这个跟sql版本没有区别,可能驱动有点不一样。
直连和桥连:你上面用的就是直连的方法。桥连需要配置数据源是以前早期使用的方法。直连使用起来比较方便。
㈣ 如何建立Java程序与SQL数据库的连接
首先要拿到相应数据的JDBC驱动程序,如Oracle的就是ojdbc14.jar,然后将之导入工程。
最简单的直接取连接方法:Class.forName(驱动类名):Connection
conn
=
DriverManager.getConnection(数据库url,数据库用户名,密码);
㈤ java如何连接sql数据库
是classpath的设置问题了。 首先解决这个问题如果说到时候提示没有找到数据库驱动,则在用命令运行此程序的时候需要在classpath 中加入连接sqlserver的jar 包,可以在环境变量中设置也可以在java命令后面加 例如: java -classpath .;xxxx.jar ConnectionDemo
㈥ java连sql数据库怎么怎么连
首先定义变量
private final String Driver = "com.microsoft.jdbc.sqlserver.SQLServerDriver";
private final String url = "jdbc:microsoft:sqlserver://主机名:1433;selectMethod=cursor;DatabaseName= 你自已的数据库名称";
private final String password = " 数据库密码";
private final String userName = "用户名";
其中com.microsoft.jdbc.sqlserver.SQLServerDriver为sqlserver的驱动器
必需先下载SqlServer的驱动器安装才行网上直接搜索
///////////////////////////
//定义方法
private Connection getConnection(){
try{
Class.forName(Driver);
conn = DriverManager.getConnection(url,userName,password);
}catch(Exception e){
e.printStackTrace();
}
return conn;
}
/////sqlserver 数据库连接成功
㈦ java连接SQL数据库
import java.sql.ResultSet; //都是导入一些下面需要用到的类
String ConnStr="jdbc:microsoft:sqlserver://WINJUE:1433;DatabaseName=library";//jdbc连接数据库url
public sqlServer() {
try {
Class.forName(DBDriver).newInstance(); //加载SQLServer驱动程序,DBDriver是你上面的代码;
conn=DriverManager.getConnection(ConnStr,"sa","sa"); //和数据库建立连接,ConnStr里面的://WINJUE:1433;DatabaseName=library 分别是主机地址:端口号;你自己建的数据库(database)
}
catch(SQLException e) { //捕获SQL异常
System.out.println(e.getMessage()); //要是出现异常,捕获到后,这句代码会把异常的信息(出错的原因之类的)打印出来。
}
catch(Exception e) { //捕获异常,这个是总的,所以不能和上面的顺序颠倒,先小到大,我连ORACLE和MYSQL,这个我通常不要,只须捕获SQL异常就OL
System.out.println(e.getMessage());
}
}
public Connection getConn(){ //获取连接方法
return conn;
}
public void insert(String sql) {//增删改
try {
Statement stm=conn.createStatement(); 调用conn下的方法,创建Statement对象
stm.executeUpdate(sql);//调用Statement下的方法执行SQL语句
System.out.println("操作成功");
}
catch(Exception e){
System.out.println(e.getMessage()); //如上
}
}
public ResultSet query(String sql){ //查询
try{
Statement stm=conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);
rs=stm.executeQuery(sql); //如上
}
catch(Exception e){
System.out.println(e.getMessage());
}
return rs;
}
public static void main(String args[]){
sqlServer conn=new sqlServer(); //创建sqlServer,就是你上面的类,以便调用里面的方法
ResultSet rs=conn.query("select * from Orders"); //调用query方法,执行SQL语句后,把结果保存到结果集里
//conn.insert("delete from BookInfo where BookName =" +"\'悟空传\'");
//conn.insert("insert into BookInfo (BookID,BookName,Author,KeyWord) values (14445678,'悟空传','今何在','孙悟空')");
try{
while(rs.next()){ //循环,判断结果集里的记录,一条条往下走,是否还有下一条记录,若是返回真,继续走
System.out.print(rs.getString("OrderID"));
//System.out.print(rs.getString("U_age"));
}
rs.close() ; //关闭结果集
}
catch (Exception e){
System.out.println(e.getMessage());
}
}
}
注:
TYPE_FORWARD_ONLY:缺省类型。只允许向前访问一次,并且不会受到其他用户对该数据库所作更改的影响。
TYPE_SCROLL_INSENSITIVE:允许在列表中向前或向后移动,甚至能进行特定定位,例如移至列表中的第四个记录或从当前位置向后移动两个记录。不会受到其他用户对该数据库所作更改的影响。
TYPE_SCROLL_SENSITIVE:象 TYPE_SCROLL_INSENSITIVE 相同,允许在记录中定位。这种类型受到其他用户所作更改的影响。如果用户在执行完查询之后删除一个记录,那个记录将从 ResultSet 中消失。类似的,对数据值的更改也将反映在 ResultSet 中。
㈧ java怎么连接sql server2019数据库
找到相应版本的sql server版本的数据库驱动。
各个不同数据库厂家有自己对应的数据库驱动。
sqlserver的驱动一般是如下样子的:
㈨ Java与SQL数据库连接问题
具体的程序我就不写了,给你说下思路吧
如果调用的不是很多的话,可以写个类,定义几个私有变量,URL,USERNAME,PASSWORD,最好是把这几个变量的值放到一个培植文件里,这样修改起来比较方便,然后定义一个PUBLIC方法,在方法里获得CONNECTION,并且RETURN
这个CONNECTION
,写个方法关闭连接,就哦了
㈩ 怎么用java连接SQL数据库
如何用java连接sql的数据库 1、java数据库操作基本流程 : java数据库操作基本流程:取得数据库连接 - 执行sql语句 - 处理执行结果 - 释放数据库连接
2、几个常用的重要技巧:可滚动、更新的记录集 、 批量更新 、事务处理1、取得数据库连接1)用DriverManager取数据库连接例子:String className,url,uid,pwd;
className = "oracle.jdbc.driver.OracleDriver";
url = "jdbc:oracle:thin:@127.0.0.1:1521:orasvr;
uid = "system";
pwd = "manager";
Class.forName(className);
Connection cn = DriverManager.getConnection(url,uid,pwd);2)用jndi(java的命名和目录服务)方式例子String jndi = "jdbc/db";
Context ctx = (Context) new InitialContext().lookup("java:comp/env");
DataSource ds = (DataSource) ctx.lookup(jndi);
Connection cn = ds.getConnection(); //多用于jsp中2、执行sql语句1)用Statement来执行sql语句String sql;
Statement sm = cn.createStatement();
sm.executeQuery(sql); // 执行数据查询语句(select)
sm.executeUpdate(sql); // 执行数据更新语句(delete、update、insert、drop等)statement.close();2)用PreparedStatement来执行sql语句String sql;
sql = "insert into user (id,name) values (?,?)";
PreparedStatement ps = cn.prepareStatement(sql);
ps.setInt(1,xxx);
ps.setString(2,xxx);
...
ResultSet rs = ps.executeQuery(); // 查询
int c = ps.executeUpdate(); // 更新3、处理执行结果查询语句,返回记录集ResultSet。更新语句,返回数字,表示该更新影响的记录数。ResultSet的方法:1、next(),将游标往后移动一行,如果成功返回true;否则返回false。2、getInt("id")或getSting("name"),返回当前游标下某个字段的值。3、释放连接。cn.close();一般,先关闭ResultSet,然后关闭Statement(或者PreparedStatement);最后关闭Connection可滚动、更新的记录集1、创建可滚动、更新的StatementStatement sm=cn.createStatement(ResultSet.TYPE_SCROLL_ENSITIVE,
ResultSet.CONCUR_READ_ONLY);该Statement取得的ResultSet就是可滚动的2、创建PreparedStatement时指定参数PreparedStatemet ps=cn.prepareStatement(sql,
ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_READ_ONLY);ResultSet.absolute(9000);批量更新1、StatementStatement sm = cn.createStatement();
sm.addBatch(sql1);
sm.addBatch(sql2);
...
sm.executeBatch()一个Statement对象,可以执行多个sql语句以后,批量更新。这多个语句可以是delete、update、insert等或兼有2、 ps = cn.preparedStatement(sql);
{
ps.setXXX(1,xxx);
...
ps.addBatch();
}
ps.executeBatch();一个PreparedStatement,可以把一个sql语句,变换参数多次执行,一次更新。事务的处理1、关闭Connection的自动提交cn.setAutoCommit(false);2、执行一系列sql语句要点:执行每一个新的sql语句前,上一次执行sql语句的Statement(或者PreparedStatemet)必须先closeStatement sm ;
sm = cn.createStatement(insert into user...);
sm.executeUpdate();
sm.close();sm = cn.createStatement("insert into corp...);
sm.executeUpdate();
sm.close();3、提交cn.commit();