JDBC实例:使用JDBC查询新闻信息

来源:互联网 发布:qq刷圈圈软件 编辑:程序博客网 时间:2024/06/04 17:45

作业要求:在数据库news(mysql)中有四张数据表,分别为:news_category  、news_comment 、news_detail 、news_user,现在需要查询news_category表中的信息并输出到控制台上。

步骤:1.新建web project          Myeclipse中新建一个web项目,项目名为news,

             2.添加jar包                将Java连接mysql的驱动mysql-connector-java-5.1.0-bin.jar拷贝到news/WebRoot/WEB-INF/lib下,然后将此驱动加载到项目中,步骤:右击web项目名news-->properties-->Java Build Path-->Libararies-->Add JARs,然后选中news/WebRoot/WEB-INF/lib/mysql-connector-java-5.1.0-bin.jar,点击Ok即可。

             3.在news/src下建包package,包名为:cn.klp.news.dao

             4.在news/src/cn.klp.news.dao包下新建类,名为NewDao.java

             5.编写java代码

package cn.klp.news.dao;import java.sql.Connection;import java.sql.DriverManager;import java.sql.ResultSet;import java.sql.SQLException;import java.sql.Statement;import java.sql.Timestamp;public class NewsDao {public void getNewsList(){Connection con = null;Statement st = null;ResultSet rs = null;try {//1.加载驱动Class.forName("com.mysql.jdbc.Driver");//2.获取数据库连接con = DriverManager.getConnection("jdbc:mysql://localhost:3306/news", "root","bdqn");//3.执行sql语句String sql = "select * from news_detail";st = con.createStatement();rs = st.executeQuery(sql);//处理sql执行结果while(rs.next()){int id = rs.getInt("id");int categoryId = rs.getInt("categoryId");String title = rs.getString("title");String summary = rs.getString("summary");String content = rs.getString("content");String picPath = rs.getString("picPath");String author = rs.getString("author");Timestamp createDate = rs.getTimestamp("createDate");Timestamp modifyDate = rs.getTimestamp("modifyDate");System.out.println("id:"+id+"\t categoryId:"+categoryId+"\t title:"+title+"\t summary:"+summary+"\t content:"+content+"\t picPath:"+picPath+"\t author:"+author+"\t createDate:"+createDate+"\t modifyDate:"+modifyDate);}} catch (ClassNotFoundException e) {e.printStackTrace();} catch (SQLException e) {e.printStackTrace();}finally{try {//5.释放资源rs.close();st.close();con.close();} catch (SQLException e) {// TODO Auto-generated catch blocke.printStackTrace();}}}public static void main(String[] args) {NewsDao newsDao = new NewsDao();newsDao.getNewsList();}}

                 6.编译运行java代码,在控制台上输出信息




总结:

1、Web App Libraries 一般是指向web工程的 WEB-INF/lib下的包(可以将包copy到此目录下,然后刷新工程,加入的包一般可以自动找到,如果找不到,右击web项目名news-->properties-->Java Build Path-->Libararies-->Add JARs可以加入)  

2、菜单: Window--> Preferences--> Java--> Build Path --> User Libraries可以管理自己的lib库,           右键->Properties->Java Build Path->Libraries-> Add Library ->User Library 选择相应的类库

3.Web App Libraries下没有jar包的问题

 今天帮同事调一个项目,里面满是类编译错误,一看就是相应的jar包没有引入,打开build path->configure build path,发现Web App Libraries下没有任何jar包。理应Web App Libraries下包含工程目录\WebContent\WEB-INF\lib下的所有jar包,于是查看了这个目录,发现这个项目的包目录是这样的:工程目录\src\main\sample\WEB-INF\lib,问题显然就出在这里了,找了半天,没有找到在哪里配置这个路径,最后,在工程目录的.settings文件夹中org.eclipse.wst.common.component找到了相关配置,原来的配置是这样的:

<?xml version="1.0" encoding="UTF-8"?>
<project-modules id="moduleCoreId" project-version="1.5.0">
    <wb-module deploy-name="test">
        <wb-resource deploy-path="/" source-path="/WebContent"/><!-- 标红位置为WEB-INF的上一级目录-->
        <wb-resource deploy-path="/WEB-INF/classes" source-path="/src"/>
        <property name="context-root" value="test"/>
        <property name="java-output-path" value="build/classes"/>
    </wb-module>
</project-modules>

修改后变为:

<?xml version="1.0" encoding="UTF-8"?>
<project-modules id="moduleCoreId" project-version="1.5.0">
    <wb-module deploy-name="test">
        <wb-resource deploy-path="/" source-path="/src/main/sample/"/>
        <wb-resource deploy-path="/WEB-INF/classes" source-path="/src"/>
        <property name="context-root" value="test"/>
        <property name="java-output-path" value="build/classes"/>
    </wb-module>
</project-modules>

 然后在Myeclipse中刷新工程,问题解决
0 0