java如何连接数据库

java如何连接数据库,第1张

JAVA Web开发中与数据库的连接 *** 作,配置:

1、新建数据库。

新建登录角色,在新建数据库的时候把数据库的所有权交给你新建的角色。用用户和密码控制数据库。保证数据库的安全。

2、编写contextxml文件 Xml文件的目的是封装用户和密码,也是封装的一种,方便 *** 作。

以下为contextxml文件样例:

<xml version="10" encoding="utf-8">

<Context reloadable = "true">

<Resource

name="jdbc/sampleHS"

type="javaxsqlDataSource"

maxActive="14"

maxIdle="10"

username="hstaoshu"

maxWait="5000"

driverClassName="orgpostgresqlDriver"

password="hstaoshu"

url="jdbc:postgresql://localhost:5432/hstaoshu"/>

</Context>

详细说明:

name="jdbc/sampleHS"里面的ssampHS是可改名称,建议根据需要自己命名;

username="hstaoshu"

password="hstaoshu"此两项为你新建的数据库登录角色用户名和密码信息,只有匹配 了才能访问。这里简单为了表示,把用户名和密码弄成了跟数据库名字一样。其实这是很不安全的。

url="jdbc:postgresql://localhost:5432/hstaoshu"/>

这是连接数据库的URl,就像访问网站的地址一样。没有这个是无法访问数据库的。localhost:5432表示本地端口。一般不需要改动,如果你在配置数据库的时候改动过端口,那么你需要把它改回来。/hstaoshu是你的数据库名称。

其他选项请勿擅自改动。

3、编写DAO类。

DAO类的作用是与数据连接后,对数据库的一些 *** 作的封装。封装的作用。为了更好的数据管理。

DAO是真正如何使用数据库的关键步骤,前两步只是部署和配置。

private static InitialContext context = null;

private DataSource dataSource = null;

//一般把跟数据库的连接放在DAO类的构造函数里,只要被实例化,就能和数据库连接。

public BookDAO() {

try {

if (context == null) {

context = new InitialContext();

}

dataSource = (DataSource) contextlookup("java:comp/env/jdbc/sampleHS");

// 连接数据库,前面在contextxml文件配置里的URl

} catch (NamingException e2) {

e2printStackTrace();

}

}

public Connection getConnection() {

Connection conn = null;

try {

conn = dataSourcegetConnection();// 获得数据源的连接对象

} catch (SQLException e) {

eprintStackTrace();

}

return conn;

}

做完上面的三步 *** 作,开发环境已经完全和数据库连接OK,可以开始数据库的 *** 作了。一般来说,对数据库的 *** 作语句都是提前封装好的。这样修改起来会对下面的代码影响降到最小。

如下:

// ------------------数据库 *** 作语句代码封装------------------

/ 查看所有图书 /

private static final String SELECT_ALL_SQL = "SELECT FROM book";

那么在使用的时候只要直接调用:

pstmt = connprepareStatement(SELECT_ALL_SQL);

public final static String DRIVER = "commicrosoftsqlserverjdbcSQLServerDriver";//jdbc驱动

public final static String URL = "jdbc:sqlserver://localhost:1433;databaseName=company4";

public final static String DBNAME = "sa";

public final static String DBPASS = "123456";

Connection conn = null;

PreparedStatement ps = null;

ResultSet rs = null;

private CallableStatement cs;

public Connection getConn() throws ClassNotFoundException, SQLException{

ClassforName(DRIVER);

conn = DriverManagergetConnection(URL,DBNAME,DBPASS);

return conn;

}

新建java工程

在java代码中输入如下代码

import javasql;

public class DB2conn{

 /设置参数/

  private static Connection conn = null;

  private static Statement stmt = null;

  private static ResultSet rs = null;

 /构造方法,链接数据库/

  public DB2conn() {

             try{

             Systemoutprintln("正在连接数据库");

             ClassforName("comibmdb2jccDB2Driver");//加载mysql驱动程序类

             String url = "jdbc:db2://localhost:50000/toolsdb";//url为连接字符串

             String user = "db2admin";//数据库用户名

             String pwd = "1234";//数据库密码

             conn=(Connection)DriverManagergetConnection(url,user,pwd);

             Systemoutprintln("数据库连接成功!!!");

             }catch(Exception e){ 

              Systemoutprintln(egetMessage());

              //eprintStackTrace();

             }

  }

  public static void main(String[] args) throws SQLException {

   DB2conn a = new DB2conn();//实例化对象,作用是调用构造方法

   agetClass();//无意义

 /查询语句/

   String sql="select  from person";

   stmt = (Statement) conncreateStatement();

   stmtexecute(sql);//执行select语句用executeQuery()方法,执行insert、update、delete语句用executeUpdate()方法。

   rs=(ResultSet) stmtgetResultSet();

   while(rsnext()){ //当前记录指针移动到下一条记录上

    int i = rsgetInt(1);//得到当前记录的第一个字段(id)的值

    String name =rsgetString(2);//得到第二个字段(name)的值

    String psw = rsgetString("ppassword");//得到(password)的值

    Systemoutprintln(IntegertoString(i)+" "+name+" "+psw);

   }

  rsclose();//后定义,先关闭

  stmtclose();

  connclose();//先定义,后关闭

  }

 }

以上就是关于java如何连接数据库全部的内容,包括:java如何连接数据库、一个java EE项目怎么连接两个mysql 数据库、如何实现java与数据库的连接等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/9287862.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-26
下一篇 2023-04-26

发表评论

登录后才能评论

评论列表(0条)

保存