下面的结构图

1.在src你创建com.hqyj.wj.model建立model包,model里放数据库的元素,User.java的截图

package com.hqyj.wj.model;

//用户信息表

public class User {

private int id;

private String name;

private String birthday;

public int getId() {

return id;

}

public void setId(int id) {

this.id = id;

}

public String getName() {

return name;

}

public void setName(String name) {

this.name = name;

}

public String getBirthday() {

return birthday;

}

public void setBirthday(String birthday) {

this.birthday = birthday;

}

}

2.在src你创建com.hqyj.wj.dao.inf建立包,这个包是放接口类,这是UserDaoInf的截图

package com.hqyj.wj.dao.inf;

import java.util.List;

import com.hqyj.wj.model.User;

/**

* 数据访问层的接口定义数据接口的方法

*

*/

public interface UserDaoInf {

//定义一个查询方法

List search();

}

3.在src你创建com.hqyj.wj.dao建立包,这个包连接数据库,及实现上面的接口类

package com.hqyj.wj.dao;

import java.sql.Connection;

import java.sql.DriverManager;

import java.sql.PreparedStatement;

import java.sql.ResultSet;

import java.util.ArrayList;

import java.util.List;

import com.hqyj.wj.dao.inf.UserDaoInf;

import com.hqyj.wj.model.User;

/**

*

* @author wl 数据访问接口

*/

public class UserDao implements UserDaoInf {

// 数据访问数据库的连接对象

protected Connection con = null;

//预编译你写的sql语句

protected PreparedStatement ps=null;

//查询预编译的sql语句

protected ResultSet rs=null;

// 获取数据库链接

@SuppressWarnings("finally")

public Connection getCon() {

try {

// 加载mysql驱动

Class.forName("com.mysql.jdbc.Driver");

//获取数据库链接

con=DriverManager.getConnection("jdbc:mysql://127.0.0.1:3306/image?characterEncoding=utf8", "root", "root");

System.out.println("链接成功");

return con;

} catch (Exception e) {

System.out.println("链接失败"+e.getMessage());

return null;

//} finally {

//try {

//con.close();

//} catch (SQLException e) {

TODO Auto-generated catch block

//e.printStackTrace();

//return null;

//}

//

}

}

/**

* 查询方法

*/

public List search() {

List list=new ArrayList();

try {

//定义一个sql语句

//String sql="SELECT a.id as 序号,a.salary as '薪水',b.`name` as '姓名' from salary a LEFT JOIN `user` b on a.u_id=b.id";

String sql="SELECT * from user";

//获取数据库连接

con=getCon();

//预编译sql语句

ps=con.prepareStatement(sql);

//把编译出来的结果集装载到ResultSet对象里面

rs=ps.executeQuery();

// rs=statement.executeQuery(sql);

//取出ResultSet里的结果集装载到数据模型里

while(rs.next()){

User user=new User();

user.setName(rs.getString("name"));

user.setBirthday(rs.getString("birthday"));

user.setId(Integer.parseInt(rs.getString("id")));

list.add(user);

}

} catch (Exception e) {

System.out.println("查询错误"+e.getMessage());

}finally{

try {

rs.close();

ps.close();

con.close();

} catch (Exception e2) {

e2.printStackTrace();

}

}

return list;

}

}

5.要引入数据库包mysql-connector-java-commercial-5.1.25-bin.jar,和json-lib-2.2.3-jdk15.jar在项目名字上右键->properties->java Build Path->Libraries->Add External Jars然后选择你下载的包

6.在src下面创建测试类

import java.util.List;

import com.hqyj.wj.dao.UserDao;

import com.hqyj.wj.model.User;

public class Test {

/**

* @param args

*/

public static void main(String[] args) {

//获取数据库访问类对象

UserDao dao=new UserDao();

dao.getCon();

List list=dao.search();

for(int i=0;i

System.out.println("id=="+list.get(i).getId());

System.out.println("name=="+list.get(i).getName());

System.out.println("birthday=="+list.get(i).getBirthday());

}

}

}

7.成功显示

8.src创建服务类和接口,UserServiceInf和UserService

package com.hqyj.wj.service.inf;

import java.util.List;

import com.hqyj.wj.model.User;

public interface UserServiceInf {

List search();

}

package com.hqyj.wj.service;

import java.util.List;

import com.hqyj.wj.dao.UserDao;

import com.hqyj.wj.dao.inf.UserDaoInf;

import com.hqyj.wj.model.User;

import com.hqyj.wj.service.inf.UserServiceInf;

/**

*逻辑服务层实现类

*/

public class UserService implements UserServiceInf{

UserDaoInf us=new UserDao();

public List search() {

return us.search();

}

}

9.src创建控制层 ,下新建个服务

package com.hqyj.wj.controller;

import java.io.IOException;

import java.io.PrintWriter;

import javax.servlet.ServletException;

import javax.servlet.http.HttpServlet;

import javax.servlet.http.HttpServletRequest;

import javax.servlet.http.HttpServletResponse;

import net.sf.json.JSONArray;

import com.hqyj.wj.service.*;

import com.hqyj.wj.service.inf.*;

import com.hqyj.wj.model.*;

import java.util.List;

import java.util.ArrayList;

public class OneServlet extends HttpServlet {

public OneServlet() {

super();

}

public void destroy() {

super.destroy(); // Just puts "destroy" string in log

// Put your code here

}

//doget对应的是ajax的$.get()方法

//request是装载请求数据

//response响应数据到前端对象

public void doGet(HttpServletRequest request, HttpServletResponse response)

throws ServletException, IOException {

//解决中文乱码的问题

request.setCharacterEncoding("utf-8");

response.setCharacterEncoding("utf-8");

//在服务器端设置允许在其他域名下访问,及响应类型、响应头设置

System.out.println("这是");

response.setHeader("Access-Control-Allow-Origin", "*");

response.setHeader("Access-Control-Allow-Methods","POST");

response.setHeader("Access-Control-Allow-Headers","x-requested-with,content-type");

//响应的文本格式

response.setContentType("text/html");

//获取响应的输出对象

PrintWriter out = response.getWriter();

//out.print("nissssss");

//out.print("您好呀");

//创建服务器层实现类

UserServiceInf service=new UserService();

List list=service.search();

//把list数据解析成前端页面能读取的数据

JSONArray json=JSONArray.fromObject(list);

out.print(json.toString());

out.flush();

out.close();

}

//doget对应的是ajax的$.post()方法

public void doPost(HttpServletRequest request, HttpServletResponse response)

throws ServletException, IOException {

response.setContentType("text/html");

PrintWriter out = response.getWriter();

out.println(""-//W3C//DTD HTML 4.01 Transitional//EN\">");

out.println("");

out.println("

A Servlet");

out.println("

");

out.print(" This is ");

out.print(this.getClass());

out.println(", using the POST method");

out.println(" ");

out.println("");

out.flush();

out.close();

}

public void init() throws ServletException {

// Put your code here

}

}

10.新建一个html,获取数据库数据

ajax获取集合

id姓名生日

$.get("http://localhost:8080/jquery/servlet/OneServlet",function(data){varnum=eval(data);varstr;//for(var o in num){//console.log(num[o].name);//str+="

"+num[o].id+" "+num[o].name+" "+num[o].birthday+"";//$("tbody").html(str)//}

for(vari=0;i

str+="

"+num[i].id+" "+num[i].name+" "+num[i].birthday+"";

}

$("tbody").html(str)

})

})

myeclipse web mysql_myEclipse,web项目连接数据库相关推荐

  1. 把myeclipse中的web项目导入eclipse中不能编程web项目的解决办法

    title: 把myeclipse中的web项目导入eclipse中不能编程web项目的解决办法 tags: grammar_cjkRuby: true --- 右键单击项目,properties-- ...

  2. MyEclipse教程:Web开发——创建Web片段项目

    MyEclipse 在线订购年终抄底促销!火爆开抢>> MyEclipse最新版下载 本教程向用户展示了使用关联的Web项目创建Web片段项目的机制. 用户还可以获得要检查的示例项目. 在 ...

  3. MyEclipse搭建java Web项目开发环境

    MyEclipse搭建java Web项目开发环境 首先,在开始搭建MyEclipse的开发环境之前,还有三步工具的安装需要完成,只要在安装配置成功之后才可以进入下面的java Web项目开发环境的搭 ...

  4. 图解Myeclipse 导入Java Web项目报错的解决办法听语音

    图解Myeclipse 导入Java Web项目报错的解决办法听语音 https://jingyan.baidu.com/article/046a7b3e953ef3f9c27fa93d.html

  5. java web开发myeclipse_【java项目实战】一步步教你使用MyEclipse搭建java Web项目开发环境(一)...

    首先,在开始搭建MyEclipse的开发环境之前,还有三步工具的安装需要完成,只要在安装配置成功之后才可以进入下面的java Web项目开发环境的搭建. 1.安装工具 第一步,下载并安装JDK,到官网 ...

  6. web项目连接数据库时找不到数据库驱动的解决办法

    今天我在优化代码结构的时候,因为看到有很多人优化完到处都是bug,然后我就备份了一下,新建了一个项目,把原来的项目copy过来了. 然后运行时就报错了:(原项目是可以正常运行的) ClassNotFo ...

  7. Java Web工程结构_项目结构

    文章目录 Eclipse 的 Java Web 工程目录结构 IDE 的目录结构截图 本地的工作空间(Workspace)中的目录结构 目录说明 Eclipse 的 Java 工程目录结构 IDE 的 ...

  8. web编程期中项目作业

    新闻爬虫与爬取结果的查询网站的实现 项目要求 一.爬虫部分 30分 1.完成最少一个目标网站(网站主题不限,不允许直接使用示例中的中国新闻网)的分析和爬虫设计. 2.爬取不少于100条数据(每条数据包 ...

  9. eclipse下tomcat添加部署Module,Web名称与项目名称不一致的解决方法

    eclipse下tomcat添加部署Module,Web名称与项目名称不一致的解决方法 参考文章: (1)eclipse下tomcat添加部署Module,Web名称与项目名称不一致的解决方法 (2) ...

最新文章

  1. 高通平台modem部分mbn文件的OTA和PDC升级方法
  2. Window Function--the function of window function
  3. 菜鸟修炼C语言小设计之——工资统计
  4. 计算机应用基础自考,自考计算机应用基础
  5. Android应用程序消息处理机制
  6. java前端弹窗的代码_弹出窗口的html的代码是怎么写的?
  7. 数据仓库系列之总线架构
  8. Siamese 目标跟踪:Learning to Fuse Asymmetric Feature Maps in Siamese Trackers(CVPR2021)
  9. K-折交叉验证(原理及实现)
  10. 八个典型的大数据应用案例
  11. 字节跳动大数据开发面试题-附答案
  12. 设计PCB螺旋线圈、电感线圈
  13. 第十五周作业——ZJM与纸条
  14. 网络隔离环境下的跨网数据传输,如何保障安全性?
  15. python怎样使用各个日期赤纬_基于Python的天文软件命令行界面设计与实现
  16. 杭州建筑工程师职称评审条件
  17. [导入]一些博客聚合和书签网址
  18. 【物联网 · 嵌入式】使用 ESP8266 接入 Blinker 物联网平台
  19. SAP创建客户主数据事务码和透明表
  20. 4.5 用自定义函数将字符串中的 大写字母 改写成小写字母 其他字符不动 然后输出

热门文章

  1. zTree的简单用法
  2. 考研数据结构填空题整合_做题版
  3. 夏季晚睡早起符合养生原则
  4. mac怎么查node版本_node版本管理的正确打开方式(mac)
  5. ArduPilot之开源代码基础知识Threading概念
  6. stm32f103VCT6全新机器 做stm32开发板 原理图以及主要器件规格书
  7. 有什么适合新手学习的3D建模软件?
  8. Windows下配置PHP环境
  9. JAVA_HOME查看和设置
  10. stm32开发3D打印机(三)——ADC热敏电阻测温、PWM控制(已完成)