最新下载
热门教程
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
java连接mysql数据库配置及增删改查操作记录
时间:2022-06-29 03:13:43 编辑:袖梨 来源:一聚教程网
一、软件下载
直接到MySQL官网下载以下两个工具:mysql-5.1.32-win32.msi、mysql-gui-tools-5.0-r17-win32.msi
前者是MySQL的安装文件,后者是MySQL Tool安装文件,包括JDBC.
二、环境配置
把mysql-connector-java-5.0.4-bin.jar从MySQLMySQL Tools for 5.0javalib拷贝到D:Tomcat 6.0lib下,然后在classpath里面加入D:Tomcat 6.0libmysql-connector-java-5.0.4-bin.jar即可。
配置这个的目的是让你的java应用程序找到连接mysql的驱动。
拷贝这一步就是为JSP连接数据库配置驱动。
应用程序加载MySql驱动程序代码如下:
Try{
Class.forName(“com.mysql.jdbc.Driver”);
}
Catch(Exception e){}
(2)与指定的数据库建立连接。
假设应用程序和MySql服务器在同一台计算机上,那么应用程序和数据库Car建立连接的代码如下:
Try{
String uri=”jdbc:mysql://localhost:3306/Car”;
String user=”root”;
String password=”123”;
Con=DriverManager.getConnection(uri,user,password);
}
Catch(SQLException e){}
其中,root用户有权访问数据库Car,root用户的密码是123。如果root用户没有设置密码,那么将上述String password=”123”;更改为String password=””;
三:JSP页面中的数据库查询
要在JSP页面中实现数据库的查询主要有连接及查询数据库的java代码部分和html页面代码部分。实现这个页面,我们进行一个三步走
1、写出连接数据库的代码
2、写出用于显示页面的代码
3、将连接数据库的代码插入到页面代码的恰当位置。
1. 连接数据库的代码
1.1 导入sql包
<% import="java.sql.*" %>
1.2 连接、查询、关闭数据库
怎样查看冰箱里面有没有大象?1、打开冰箱门。2、看一下。3、关闭冰箱门。就是这个过程。。。。。
[html]
<%
Class.forName("com.mysql.jdbc.Driver").newInstance();
String url="jdbc:mysql://localhost:3306/news";
String user="root";
String password="1234";
//配置并连接数据库
Connection conn = DriverManager.getConnection(url, user, password);
Statement st = conn.createStatement();
//查询语句,显示最后10条并且倒序排列
ResultSet rs = st.executeQuery("SELECT * FROM data ORDER BY id DESC LIMIT 10");
//输出表头
out.println("
//依次输出每个查询结果
while(rs.next()){
out.print("
");
//如果采用列名,要加引号
}
out.print("
");
//断开数据库
conn.close();
%>
2. 页面的HTML代码
为了页面漂亮一点,做点点美化~做一个表格来存放数据
[html]
<%@ page language="java" import="java.util.*, java.sql.*" pageEncoding="gb2312"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>
<%request.setCharacterEncoding("UTF-8");%>
<%response.setCharacterEncoding("UTF-8");%>
标题 | 内容 | 时间 |
3. 把前面两个代码放在一起
放的时候注意代码的位置安排。
[html]
<%@ page language="java" import="java.util.*, java.sql.*" pageEncoding="gb2312"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>
<%request.setCharacterEncoding("UTF-8");%>
<%response.setCharacterEncoding("UTF-8");%>
<%
//连接MySQL数据库
Class.forName("com.mysql.jdbc.Driver").newInstance();
String url="jdbc:mysql://localhost:3306/news";
String user="root";
String password="1234";
Connection conn = DriverManager.getConnection(url, user, password);
Statement st = conn.createStatement();
%>
标题 | 内容 | 时间 | 内的相应位置。 ResultSet rs = st.executeQuery("SELECT * FROM data ORDER BY id DESC LIMIT 10"); while(rs.next()){%> |
<%=rs.getString("title") %> | <%=rs.getString("content") %> | <%=rs.getString("time") %> |
<%
rs.close();
conn.close();
%>
四JSP页面中的数据库插入
这次是怎样将大象放冰箱的命题了!大家都懂的!
我们要解决的主要有两个问题:
1、如何获取输入的内容
2、如何插入时间。
直接上代码
[html]
<%@ page language="java" import="java.util.*, java.sql.*" pageEncoding="gb2312"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>
<%request.setCharacterEncoding("UTF-8");%>
<%response.setCharacterEncoding("UTF-8");%>
<%
//连接MySQL数据库
Class.forName("com.mysql.jdbc.Driver").newInstance();
String url="jdbc:mysql://localhost:3306/news";
String user="root";
String password="1234";
Connection conn = DriverManager.getConnection(url, user, password);
Statement st = conn.createStatement();
%>
标题 | 内容 | 时间 |
<%=rs.getString("title") %> | <%=rs.getString("content") %> | <%=rs.getString("time") %> |
<%
//通过input中的name获取输入的内容。time那一行是获得时间及定义时间格式
String getTitle=request.getParameter("title");
String getContent=request.getParameter("content");
java.text.SimpleDateFormat time = new java.text.SimpleDateFormat( "yyyy-MM-dd HH:mm:ss");
String insertSQL = "INSERT INTO data(title, content, time) Values ('"+getTitle+"', '"+getContent+"', ' "+time.format(new java.util.Date())+"')";
st.executeUpdate(insertSQL);
%>
<%
rs.close();
st.close();
conn.close();
%>
例子:连接mysql数据库增删改查操作记录(好)
要将数据库jar包拷贝到工程下的WEB-INFlib下
[java] view plain copy print?
import java.sql.Connection;//java包
public class DBConnection
{
private String dbDriver=”com.mysql.jdbc.Driver”;
private String dbUrl=”jdbc:mysql://[ip地址]:[端口号]/[数据库名]“;//根据实际情况变化
private String dbUser=”root”;
private String dbPass=”root”;
public Connection getConn()
{
Connection conn=null;
try
{
Class.forName(dbDriver);
}
catch (ClassNotFoundException e)
{
e.printStackTrace();
}
try
{
conn = DriverManager.getConnection(dbUrl,dbUser,dbPass);//注意是三个参数
}
catch (SQLException e)
{
e.printStackTrace();
}
return conn;
}
}
2. 插入操作
[java] view plain copy print?
public int insert()
{
int i=0;
String sql=”insert into (表名)(列名1,列明2) values(?,?)”;
Connection cnn=getConn();
try{
PreparedStatement preStmt =cnn.prepareStement(sql);
preStmt.setString(1,值);
preStmt.setString(2,值);//或者:preStmt.setInt(1,值);
i=preStmt.executeUpdate();
}
catch (SQLException e)
{
e.printStackTrace();
}
return i;//返回影响的行数,1为执行成功
}
3. 更新操作
[java] view plain copy print?
public int update
{
int i=0;
String sql=”update (表名) set (列名1)=?,列明2=? where (列名)=?”;//注意要有where条件
Connection cnn=getConn();
try{
PreparedStatement preStmt =cnn.prepareStatement(sql);
preStmt.setString(1,(值));
preStmt.setString(2,(值));//或者:preStmt.setInt(1,值);
preStmt.setInt(3,(值));
i=preStmt.executeUpdate();
}
catch (SQLException e)
{
e.printStackTrace();
}
return i;//返回影响的行数,1为执行成功
}
4. 查找操作
[java] view plain copy print?
public String select
{
String sql = “select * from (表名) where (列名)=(值)”;
Connection cnn = getConn();//此处为通过自己写的方法getConn()获得连接
try
{
Statement stmt = conn.createStatement();
ResultSet rs = stmt.executeQuery(sql);
if(rs.next())
{
int m1 = rs.getInt(1);//或者为rs.getString(1),根据数据库中列的值类型确定,参数为第一列
String m2 = rs.getString(2);
}
//可以将查找到的值写入类,然后返回相应的对象
}
catch (SQLException e)
{
e.printStackTrace();
}
return (相应的值的变量);
}
5. 删除操作
[java] view plain copy print?
public int delete()
{
String sql = “delete from (表名) where (列名)=(值)”;
int i=0;
Connection conn = getConn();//此处为通过自己写的方法getConn()获得连接
try
{
Statement stmt = conn.createStatement();
i = stmt.executeUpdate(sql);
}
catch (SQLException e)
{
e.printStackTrace();
}
return i;//如果返回的是1,则执行成功;
}
相关文章
- 人们熟悉的寄居蟹属于以下哪种分类 神奇海洋11月21日答案 11-21
- 第五人格11.22共研服有什么更新 11月22日共研服更新内容介绍 11-21
- 原神恰斯卡怎么培养 11-21
- 无期迷途四星装束是谁 11-21
- 王者荣耀帝丹高中校服怎么获得 11-21
- 光遇姆明季后续版本怎么玩 11-21