java如何连接数据库

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

JDBC(Java DataBase Connectivity)是Java数据库连接API。JDBC能完成与一个数据库建立连接,然后向数据库发送SQL语句,再处理数据库返回的结果。

JDBC在设计上和ODBC相似。JDBC和数据库建立连接的一种方式是首先建立起一个JDBC-ODBC桥接器。

首先安装office2000,就有了Access2000,启动Access,建立新数据库messmdb,建立包含两个文本型字段name和sex的表,表名为member,随便录入一些字符串到member表中,保存在任意目录下,比如说C盘下。然后打开控制面板 -> 管理工具 -> 数据源 (ODBC),选择"系统DSN",也可以选择"用户DSN"选项卡,系统的DSN对每个用户都适用可避免调试时出现的权限问题,单击“添加”,

点击"完成",d出的对话框里将"数据源名"一项设为你喜欢的名字,比如redsun。点"选择",找到"C:\messmdb"文件,如此一个ODBC数据源就配置好了。

要连接该数据源,也就是连接数据库,首先要建立一个JDBC-ODBC桥接器,上面已经说过了,其方法是:

ClassforName("sunjdbcodbcJdbcOdbcDriver");

Class 是Javalang包中的一个类,通过调用它的静态方法forName就可以建立桥接器。但建立桥接器时可能发生异常,这是我们所不想见到的,因此要捕获这个异常:

try{

ClassforName("sunjdbcodbcJdbcOdbcDriver");

}

catch(ClassNotFoundException e){异常捕获}

然后就是连接数据库了,这里要用到javasql包中的Connection类声明一个对象,再用类DriverManager调用它的静态方法getConnection创建这个连接。

Connection con=DriverManagergetConnection("jdbc:odbc:数据源名字","数据源用户名","数据源密码");

为防止连接出现异常,这里也要有个异常的处理,具体看代码:

=========accessjava============

程序代码

import javasql;

public class access{

public static void main(String args[]){

Connection con;

Statement sql; //声明Statement对象

ResultSet rs;

try{

ClassforName("sunjdbcodbcJdbcOdbcDriver");

}

catch(ClassNotFoundException e){

Systemoutprintln(""+e);

}

try{

con=DriverManagergetConnection("jdbc:odbc:redsun","","");

sql=concreateStatement();

rs=sqlexecuteQuery("Select FROM member");

while(rsnext()){

String name=rsgetString(1); //获得数据库第一列

String sex=rsgetString(2);

Systemoutprintln("姓名:"+name); //输出信息

Systemoutprintln("性别:"+sex);

}

conclose();

}

catch(SQLException el){}

}

}

编绎accessjava, 然后在命令提示符中先切换到编绎后的accessclass的目录,执行:

java access 回车

以上这个例子只是简单的连接数据库,并静态游标方式显示数据,更新、删除和添加数据库以前学过sql的很容易理解,语法为:

String xx="sql语句";

Statement对象executeUpdate(xx);

其实,也就那几步而已:

别忘了,加载jar文件

加载驱动

获得Connection

获得PreparedStatement /PreparedStatement

执行sql语句

处理结果集ResultSet

关闭连接

mport javasqlConnection;

import javasqlPreparedStatement;

import javasqlResultSet;

import javautilArrayList;

import javautilList;

import EntityJIAJU;

public class JiaJu {

 public JIAJU selectExe(int shouhinId) {

  JIAJU jia = new JIAJU();

  try {

   Connection con = ConnectionManagergetConnection();

   String sql = "select  from jiaju where shouhinId=";

   PreparedStatement ps = conprepareStatement(sql);

   pssetInt(1, shouhinId);

   ResultSet rs = psexecuteQuery();

   if (rs != null) {

    while (rsnext()) {

     jiasetShouhinId(rsgetInt("shouhinId"));

     jiasetShouhinName(rsgetString("shouhinName"));

     jiasetShouhinColor(rsgetString("shouhinColor"));

     jiasetShouhinPrice(rsgetInt("shouhinPrice"));

     jiasetShouhinPai(rsgetString("shouhinPai"));

     jiasetShouhinShi(rsgetString("shouhinShi"));

     // listadd(jia);

    }

   }

  } catch (Exception e) {

   eprintStackTrace();

  }

  return jia;

 }

 public void insertJia(JIAJU jia) {

  try {

   Connection con = ConnectionManagergetConnection();

   String sql = "insert into jiaju values(,,,,)";

   PreparedStatement ps = conprepareStatement(sql);

   pssetString(1, jiagetShouhinName());

   pssetString(2, jiagetShouhinColor());

   pssetInt(3, jiagetShouhinPrice());

   pssetString(4, jiagetShouhinPai());

   pssetString(5, jiagetShouhinShi());

   psexecuteUpdate();

  } catch (Exception e) {

   eprintStackTrace();

  }

 }

 public List selectJia() {

  List list = new ArrayList();

  

  try {

   Connection con = ConnectionManagergetConnection();

   String sql = "select  from jiaju ";

   PreparedStatement ps = conprepareStatement(sql);

   ResultSet rs = psexecuteQuery();

   if (rs != null) {

    while (rsnext()) {

     JIAJU jia = new JIAJU();

     jiasetShouhinId(rsgetInt("shouhinId"));

     jiasetShouhinName(rsgetString("shouhinName"));

     jiasetShouhinColor(rsgetString("shouhinColor"));

     jiasetShouhinPrice(rsgetInt("shouhinPrice"));

     jiasetShouhinPai(rsgetString("shouhinPai"));

     jiasetShouhinShi(rsgetString("shouhinShi"));

        listadd(jia);

    }

   }

  } catch (Exception e) {

   eprintStackTrace();

  }

  return list;

 }

 public JIAJU selectbuy(int shouhinId) {

  JIAJU jia = new JIAJU();

  try {

   Connection con = ConnectionManagergetConnection();

   String sql = "select  from jiaju where shouhinId=";

   PreparedStatement ps = conprepareStatement(sql);

   pssetInt(1, shouhinId);

   ResultSet rs = psexecuteQuery();

   if (rs != null) {

    while (rsnext()) {

     jiasetShouhinId(rsgetInt("shouhinId"));

     jiasetShouhinName(rsgetString("shouhinName"));

     jiasetShouhinColor(rsgetString("shouhinColor"));

     jiasetShouhinPrice(rsgetInt("shouhinPrice"));

     jiasetShouhinPai(rsgetString("shouhinPai"));

     jiasetShouhinShi(rsgetString("shouhinShi"));

    }

   }

  } catch (Exception e) {

   eprintStackTrace();

  }

  return jia;

 }

  public void updateLou(JIAJU jia){

   try{

    Connection con = ConnectionManagergetConnection();

   String sql = "update jiaju set shouhinPrice= where  shouhinId=";

   PreparedStatement ps = conprepareStatement(sql);  

   pssetInt(1,jiagetShouhinPrice());

   pssetInt(2, jiagetShouhinId());

   psexecuteUpdate();

   }catch(Exception e){

    eprintStackTrace();

   }

  }

  public void deleteLou(JIAJU jia){

   try{

    Connection con = ConnectionManagergetConnection();

   String sql = "delete from jiaju where shouhinId=";

   PreparedStatement ps = conprepareStatement(sql);

   pssetInt(1, jiagetShouhinId());

   psexecuteUpdate();

   }catch(Exception e){

    eprintStackTrace();

   }

  }

}

首先你得确定你的数据库连接是通过什么形式连接的,hibernate还是原生态的jdbc 还是spring;

如果是只有hibernate,那么你得通过加载配置文件得到sessionFactory,然后得到session

如果spring,那么同样也需要注入sessionfactory到你的dao

如果是jdbc方式,那么你就按照原生态jdbc写法

总之,在你构造DAO时,得有数据源。这样才能 *** 纵你的数据库

如果搞懂了这些问题,那么你的第一个,第三个问题就迎刃而解了。至于第二问题,我没明白你什么意思!

我的采用的是javabena+jsp

一个javabean

public ArrayList selectCourseInfo()throws Exception {//下拉框显示课程信息

ArrayList list = new ArrayList();

try {

dbopen();

ResultSet rs = dbselect("select from CourseInfo");

while (rsnext()) {

listadd(new CourseInfo(rsgetInt(1), rsgetString(2),rsgetString(3)));

}

} catch (Exception e) {

eprintStackTrace();

} finally {

dbclose();

}

return list;

}

然后在jsp中调用

<tr><td>课 程:<select name="course">

<%try{

ArrayList list=mselectCourseInfo();

if(listisEmpty()){

outprintln("没有数据显示");

}

for(int i=0;i<listsize();i++){

CourseInfo c=(CourseInfo)listget(i);%>

<option><%=cgetName()%></option>

<%}}

catch(Exception e){}

%></select>

</td></tr>

这样就可以动态的显示了

你使用的是框架吗,还是什么,要结合你的项目进行写可以参考一下,我使用的hibernate 查询,返回用户列表,下面是一个例子

/

query by subid

/

public Userinfo findBySubId(String subid) {

if (null != subid) {

List<Userinfo> uList = null;

String hql = " from Userinfo where subid=";

Session session = getSession();

Query query = sessioncreateQuery(hql);

querysetString(0, subid);

uList = querylist();

sessionclose();

return (null!=uList) uListget(0):null;

}

return null;

}

1注册驱动

Classforname("commysqljdbcDriver");//这是连接mysql数据库的驱动

2获取数据库连接

javasqlConnection conn=javasqlDriverManagergetConnection(); 3获取表达式

javasqlStatement stmt=conncreateStatement("jdbc:mysql://localhost/testuseUnicode=true&characterEncoding=GBK","root","null");//三个参数分别是数据库连接的URL,用户名,密码 4执行SQL

javasqlResultSet rs=stmtexecuteQuery("select from user"); 5显示结果集里面的数据

while(rsnext()){

Systemoutprintln(rsgetInt(1));

Systemoutprintln(rsgetString("username"));

Systemoutprintln(rsgetString("password"));

Systemoutpringln();

}//执行插入语句

//stmtexecuteUpdate("insert into user values(1,'中文','345')");

6释放资源

rsclose();

stmtclose();

connclose();

以上就是关于java如何连接数据库全部的内容,包括:java如何连接数据库、java 如何连接数据库,如何完成数据库记录添加,删除,修改以及查询。、关于java 连接数据库实现增删改查的具体功能代码。等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

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

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

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

发表评论

登录后才能评论

评论列表(0条)

保存