dbutils 这几行代码,哪里错了。

lyqiang00 2009-11-15 04:13:22

Class.forName("com.mysql.jdbc.Driver");
String url = "jdbc:mysql://localhost/ly_blog";
String username = "root";
String password = "root";
conn = DriverManager.getConnection(url, username, password);
String sql = "insert into blog(title,category_id,context,created_time) values(?,?,?,now())";
String[] params = {title, category, content};
QueryRunner qr = new QueryRunner();
result = qr.update(conn, sql, params);

new QueryRunner()的时候没有用到DataSource。
改成这样也是不行。
result = qr.update(sql, conn, params);
...全文
144 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
nihaowangxinwei 2010-03-09
  • 打赏
  • 举报
回复
dirver 没有载入:

String jdbcDriver = "com.mysql.jdbc.Driver";

DbUtils.loadDriver(jdbcDriver);

不用Class.forName("com.mysql.jdbc.Driver");这种方式
kingshigang 2009-11-15
  • 打赏
  • 举报
回复
换成 commons-dbutils-1.1.jar 试试。。。
lyqiang00 2009-11-15
  • 打赏
  • 举报
回复
[Quote=引用 9 楼 kingshigang 的回复:]
commons-dbutils-1.2.jar??
  有这个包?  这个包的问题吧。
[/Quote]
有啊。
kingshigang 2009-11-15
  • 打赏
  • 举报
回复
commons-dbutils-1.2.jar??
有这个包? 这个包的问题吧。
lyqiang00 2009-11-15
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 kingshigang 的回复:]
BlogServlet 代码贴出来瞧瞧
 
[/Quote]

package com.ly.blog;

import java.io.IOException;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import org.apache.commons.dbutils.QueryRunner;

public class BlogServlet extends HttpServlet {

public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
doPost(request, response);
}

public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
request.setCharacterEncoding("utf-8");

String title = request.getParameter("title");
String category = request.getParameter("category");
String content = request.getParameter("content");

Connection conn = null;
int result = 0;

try {
Class.forName("com.mysql.jdbc.Driver");
String url = "jdbc:mysql://localhost/ly_blog";
String username = "root";
String password = "root";
conn = DriverManager.getConnection(url, username, password);
String sql = "insert into blog(title,category_id,context,created_time) values(?,?,?,now())";
String[] params = {title, category, content};
QueryRunner qr = new QueryRunner();
result = qr.update(sql, conn, params);
} catch (ClassNotFoundException e) {
e.printStackTrace();
} catch (SQLException e) {
e.printStackTrace();
} finally {
try {
if(conn != null) conn.close();
} catch (SQLException e) {
e.printStackTrace();
}
}

String message = "";
if(result == 1) {
message = "博文添加成功";
}else {
message = "博文添加不成功";
}
request.setAttribute("message", message);
request.getRequestDispatcher("/addBlogResult.jsp").forward(request, response);
}
}

kingshigang 2009-11-15
  • 打赏
  • 举报
回复
BlogServlet 代码贴出来瞧瞧
lyqiang00 2009-11-15
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 zl3450341 的回复:]
String url = "jdbc:mysql://localhost/ly_blog";


写错了
[/Quote]
这里没错。mysql默认的端口是3306.
现在的问题是处在dbutils这里
包也已经引入了。

error message:
java.lang.NoClassDefFoundError: org/apache/commons/dbutils/QueryRunner
at com.ly.blog.BlogServlet.doPost(BlogServlet.java:41)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:709)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:178)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:869)
at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:664)
at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:527)
at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:80)
at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:684)
at java.lang.Thread.run(Unknown Source)
zl3450341 2009-11-15
  • 打赏
  • 举报
回复
private static String url="jdbc:sqlserver://localhost:1433;databaseName=flight";

这是oracle的url 你的url没有端口号啊
zl3450341 2009-11-15
  • 打赏
  • 举报
回复
String url = "jdbc:mysql://localhost/ly_blog";


写错了
lyqiang00 2009-11-15
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 kingshigang 的回复:]
lass.forName("com.mysql.jdbc.Driver");
String url = "jdbc:mysql://localhost/ly_blog";

URL 端口呢?  1433?
[/Quote]
默认 3306
是dbutils的问题。
result 已经初始化。
异常已经捕获
kingshigang 2009-11-15
  • 打赏
  • 举报
回复
错了 是3306
kingshigang 2009-11-15
  • 打赏
  • 举报
回复
lass.forName("com.mysql.jdbc.Driver");
String url = "jdbc:mysql://localhost/ly_blog";

URL 端口呢? 1433?

81,092

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧