先不说其他具体做法
建立maven项目---war
连接tomcat,点击奶瓶,选择java7及以上,
pom添加:
<dependencies>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.6</version>
</dependency>
<!-- 数据库连接池坐标 -->
<dependency>
<groupId>commons-dbcp</groupId>
<artifactId>commons-dbcp</artifactId>
<version>1.4</version>
</dependency>
</dependencies>
java resources---src/main/java--db包--DBUtils.java代码
package db;
import java.io.IOException;
import java.io.InputStream;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.util.Properties;
import org.apache.commons.dbcp.BasicDataSource;
public class DBUtils {
private static BasicDataSource ds;
//写到静态块里是为了让读取配置文件的代码
//和创建连接池的代码只执行一次
static {
Properties p = new Properties();
InputStream ips =
DBUtils.class.getClassLoader()
.getResourceAsStream("jdbc.properties");
try {
p.load(ips);
} catch (IOException e) {
e.printStackTrace();
}
String url = p.getProperty("url");
String username = p.getProperty("username");
String password = p.getProperty("password");
// Connection conn =
// DriverManager.getConnection(
// url ,username,password);
//换成连接池
ds = new BasicDataSource();
//设置数据库连接信息
ds.setDriverClassName(
"com.mysql.jdbc.Driver");
ds.setUrl(url);
ds.setUsername(username);
ds.setPassword(password);
ds.setInitialSize(3);
ds.setMaxActive(5);
}
public static Connection getConn()
throws SQLException {
return ds.getConnection();
}
}
src/main/java-dao--UserDAO.java代码
package dao;
import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.ArrayList;
import java.util.List;
import db.DBUtils;
import entity.User;
public class UserDAO {
public List<User> findAll(){
List<User> users=new ArrayList<User>();
try (Connection conn = DBUtils.getConn();){
Statement s = conn.createStatement();
String sql ="select * from t_user";
ResultSet rs =
s.executeQuery(sql);
while(rs.next()) {
User user=new User();
int id = rs.getInt("id");
user.setId(id);
String username=rs.getString("username");
user.setUsername(username);
String password=rs.getString("password");
String email=rs.getString("email");
user.setPassword(password);
user.setEmail(email);
users.add(user);
}
} catch (SQLException e) {
e.printStackTrace();
}
return users;
}
src/main/resources---jdbc.properties---
url=jdbc:mysql://localhost:3306/jsd1909db
username=root
password=
deployed recources-webapp---listUsers.jsp代码
<%@page contentType="text/html;charset=utf-8" pageEncoding="utf-8" import="dao.*,java.util.*,entity.*"%>
<html>
<head>
</head>
<body style="font-size:30px;">
<table border="1" width="60%">
<tr>
<td>id</td>
<td>用户名</td>
<td>密码</td>
<td>邮箱</td>
</tr>
<%
UserDAO dao=new UserDAO();
List<User> users=dao.findAll();
for(int i=0;i<users.size();i++){
User user=users.get(i);
%>
<tr>
<td> <%=user.getId() %></td>
<td> <%=user.getUsername() %></td>
<td> <%=user.getPassword() %></td>
<td> <%=user.getEmail() %></td>
</tr>
<%} %>
</table>
</body>
</html>
数据库建库和表
create database jsd1909db default character set utf8;
use jsd1909db;
create table t_user(
id int primary key auto_increment,
username varchar(50) unique,
password varchar(50),
email varchar(50)
)charset=utf8;
解决问题出现no suitable driver------>DBUtils.java中加入
ds.setDriverClassName(
"com.mysql.jdbc.Driver");