//代码复制出来,修改一下bean,加载一下jar包,能直接用的,不懂加我Q 983331283
package cn.tootoo.entity;
public class Page {
private int pageSize;//每页显示几条
private int pageNumber;//第几页
private int dataCount;//数据总个数
public int getPageSize() {
return pageSize;
}
public void setPageSize(int pageSize) {
this.pageSize = pageSize;
}
public int getPageNumber() {
return pageNumber;
}
public void setPageNumber(int pageNumber) {
this.pageNumber = pageNumber;
}
public int getDataCount() {
return dataCount;
}
public void setDataCount(int dataCount) {
this.dataCount = dataCount;
}
}
package cn.tootoo.db.dao;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.List;
import java.util.UUID;
import cn.tootoo.entity.Chemical;
import cn.tootoo.entity.Page;
import cn.tootoo.entity.Seed;
import cn.tootoo.entity.Users;
public class MysqlBaseDao {
public final static String DRIVER = "com.mysql.jdbc.Driver"; //mysql驱动
//ip地址 端口 数据库名称
public final static String URL = "jdbc:mysql://127.0.0.1:3306/php?characterEncoding=UTF-8";//url连接
public final static String DBNAME = "root"; // 用户名
public final static String DBPASS = "root"; // 密码
private Connection conn;
private PreparedStatement pstmt;
private ResultSet rs;
/**
* 获得链接
* @throws ClassNotFoundException
* @throws SQLException
* @return 返回连接
*/
public Connection getConn() throws ClassNotFoundException, SQLException{
Class.forName(DRIVER); //加载驱动类
Connection conn = DriverManager.getConnection(URL,DBNAME,DBPASS); //获取连接
return conn; //返回连接
}
/**
* 关闭所有的连接
* @param conn
* @param pstmt PreparedStatement
* @param rs
*/
public void closeAll( Connection conn, PreparedStatement pstmt, ResultSet rs ) {
if(rs != null){
try
{
rs.close();
} catch (SQLException e)
{
e.printStackTrace();
}
}
if(pstmt != null){
try
{
pstmt.close();
}
catch (SQLException e)
{
e.printStackTrace();
}
}
if(conn != null){
try
{
conn.close();
}
catch (SQLException e)
{
e.printStackTrace();
}
}
}
/**
*执行sql的语句,删除增加修改 ִ
* @param sql 入参
* @param param 查询条件的参数数组
* @return 返回执行结果
*/
public int executeSQL(String preparedSql,String[] param) {
Connection conn = null;
PreparedStatement pstmt = null;
int num = 0;
try {
conn = getConn();
pstmt = conn.prepareStatement(preparedSql);
if( param != null ) {
for( int i = 0; i < param.length; i++ ) {
pstmt.setString(i+1, param[i]);
}
}
num = pstmt.executeUpdate();
} catch (ClassNotFoundException e) {
e.printStackTrace();
} catch (SQLException e) {
e.printStackTrace();
} finally {
closeAll(conn,pstmt,null);
}
return num;
}
/**
* 查询化肥总条数
*
* @param userName
* @param password
*/
public int findSeedCount( ) {
String sql = "select count(*) as count from news ";
int i=0;
try {
conn = this.getConn();
pstmt = conn.prepareStatement(sql);
rs = pstmt.executeQuery();
if (rs.next()) {
i = rs.getInt("count");
return i;
}else{
return 0;
}
} catch (Exception e) {
e.printStackTrace();
} finally {
this.closeAll(conn, pstmt, rs);
}
return i;
}
/**
* 查询化肥信息
* @return
*/
public List<Chemical> getChemicalList(int landId){
List<Chemical> seedList =new ArrayList<Chemical>();
String sql = "select * from chemical where landId ="+landId+" order by id desc ";
System.out.println("###查询分页sql语句是:"+sql);
Chemical seedReturn = null;
try {
conn = this.getConn();
pstmt = conn.prepareStatement(sql);
rs = pstmt.executeQuery();
while (rs.next()) {
seedReturn =new Chemical();
seedReturn.setId(rs.getInt("id"));
seedReturn.setBrand(null == rs.getString("brand")?"":rs.getString("brand"));
seedReturn.setManufactor(null == rs.getString("manufactor")?"":rs.getString("manufactor"));
seedReturn.setPrice(rs.getDouble("price"));
seedReturn.setBuyTime(null == rs.getString("buyTime")?"":rs.getString("buyTime"));
seedReturn.setLongitude(null == rs.getString("longitude")?"":rs.getString("longitude"));
seedReturn.setLatitude(null == rs.getString("latitude")?"":rs.getString("latitude"));
seedReturn.setTime(null == rs.getString("writetime")?"":rs.getString("writetime"));
seedReturn.setLandId(rs.getInt("landId"));
seedList.add(seedReturn);
}
} catch (Exception e) {
e.printStackTrace();
System.out.println("###查询化肥信息报错");
} finally {
this.closeAll(conn, pstmt, rs);
}
System.out.println("###查询化肥信息完成 返回数据 cheemicalList:"+seedList.size());
return seedList;
}
/**
* mysql分页查询化肥信息
* @return
*/
public List<Users> getSeedList(Users User,Page page){
//数据总条数
page.setDataCount(this.findSeedCount());
if(0 >= page.getDataCount()){
return null;
}
// 总页数
int pageCount = 0;
if(0 >= page.getPageSize()){
page.setPageSize(10);
}
if(0 >= page.getPageNumber()){
page.setPageNumber(1);
}
int mm = page.getDataCount()/page.getPageSize();
int nn = page.getDataCount()%page.getPageSize();
if(nn > 0 && mm <= 0){
pageCount = 1;
}else if(mm > 0 && nn > 0){
pageCount = mm + 1;
}else if(mm > 0 && nn <= 0){
pageCount = mm ;
}
if(page.getPageNumber() >= pageCount){
page.setPageNumber(pageCount);
}else if(page.getPageNumber() <= 0){
page.setPageNumber(1);
}
List<Users> seedList =new ArrayList<Users>();
String sql2 = " select * from news limit "+((page.getPageNumber() -1)*page.getPageSize())+","+page.getPageSize();
System.out.println("###查询分页sql语句是:"+sql2);
Users seedReturn = null;
try {
conn = this.getConn();
pstmt = conn.prepareStatement(sql2);
rs = pstmt.executeQuery();
while (rs.next()) {
seedReturn =new Users();
seedReturn.setId(rs.getString("newsID"));
seedReturn.setName(null == rs.getString("title")?"":rs.getString("title"));
seedList.add(seedReturn);
}
} catch (Exception e) {
e.printStackTrace();
System.out.println("###查询化肥信息报错");
} finally {
this.closeAll(conn, pstmt, rs);
}
return seedList;
}
/**
* 通过id查询化肥信息
* @param id
*/
public Seed findSeed(Seed seed){
String sql = "select * from seed where id=? ";
Seed seedReturn = null;
try {
seedReturn =new Seed();
conn = this.getConn();
pstmt = conn.prepareStatement(sql);
pstmt.setInt(1, seed.getId());
rs = pstmt.executeQuery();
if (rs.next()) {
seedReturn.setId(rs.getInt("id"));
seedReturn.setSeedName(null == rs.getString("seedName")?"":rs.getString("seedName"));
seedReturn.setCategory(null == rs.getString("category")?"":rs.getString("category"));
seedReturn.setManufactor(null == rs.getString("manufactor")?"":rs.getString("manufactor"));
seedReturn.setPrice(rs.getDouble("price"));
if(null != rs.getString("buyTime")){
seedReturn.setBuyTime(rs.getString("buyTime"));
}
seedReturn.setBuyPlace(null == rs.getString("buyPlace")?"":rs.getString("buyPlace"));
seedReturn.setLongitude(null == rs.getString("longitude")?"":rs.getString("longitude"));
seedReturn.setLatitude(null == rs.getString("latitude")?"":rs.getString("latitude"));
if(null != rs.getString("writetime")){
seedReturn.setTime(rs.getString("writetime"));
}
}
} catch (Exception e) {
e.printStackTrace();
System.out.println("###查询化肥信息报错");
} finally {
this.closeAll(conn, pstmt, rs);
}
return seedReturn;
}
/**
* 化肥信息新增
* @param userName
* @param password
* @return int
*/
public int insertChemical(Chemical seed) {
int count=0;
System.out.println("###进入到化肥新增dao层");
try {
System.out.println("dao层内部176");
conn=this.getConn();
String sql = "insert into chemical(brand,manufactor,price,buyTime"
+ ",longitude,latitude,writetime,landId) values(?,?,?,?,?,?,?,?) ";
pstmt=conn.prepareStatement(sql);
pstmt.setString(1, seed.getBrand());
pstmt.setString(2, seed.getManufactor());
pstmt.setDouble(3, seed.getPrice());
pstmt.setString(4, seed.getBuyTime());
pstmt.setString(5, seed.getLongitude());
pstmt.setString(6, seed.getLatitude());
pstmt.setString(7, seed.getTime());
pstmt.setInt(8, seed.getLandId());
count=pstmt.executeUpdate();
} catch (ClassNotFoundException e) {
e.printStackTrace();
} catch (SQLException e) {
e.printStackTrace();
}
this.closeAll(conn, pstmt, rs);
System.out.println("###化肥dao层 新增完毕 是否成功:count:"+count);
return count;
}
/**
* 查询所有用户
* @return
*/
public List selectAllUser(){
List list=new ArrayList();
String sql = "select * from fm_user ";
try {
conn = this.getConn();
pstmt = conn.prepareStatement(sql);
rs = pstmt.executeQuery();
while(rs.next()) {
Users user = new Users();
user.setId(rs.getString("userID"));
user.setName(rs.getString("userName"));
list.add(user);
}
} catch (Exception e) {
e.printStackTrace();
} finally {
this.closeAll(conn, pstmt, rs);
}
return list;
}
/**
* 删除
* @param userID
* @return ִ
*/
public int deleteUserByID(String userID){
String sql="delete from fm_user where userID = ? ";
String[] param = new String[]{ userID };
return this.executeSQL(sql, param);
}
/**
*
* @return
*/
public List findFace(){
List list=new ArrayList();
String sql="select * from user";
Users user=null;
try {
conn = this.getConn();
pstmt = conn.prepareStatement(sql);
rs = pstmt.executeQuery();
while (rs.next()) {
user =new Users();
user.setId(rs.getString("userID"));
user.setName(rs.getString("userName"));
list.add(user);
}
} catch (Exception e) {
}finally{
this.closeAll(conn, pstmt, rs);
}
return list;
}
/**
* 根据用户名查询用户信息
* @param userName
* @return
*/
public Object findUser(String userName){
String sql = "select * from users where userName=? ";
try {
conn = this.getConn();
pstmt = conn.prepareStatement(sql);
pstmt.setString(1, userName);
rs = pstmt.executeQuery();
if (rs.next()) {
Users user=new Users();
user.setId(rs.getString("userID"));
user.setName(rs.getString("userName"));
return user;
}
} catch (Exception e) {
e.printStackTrace();
} finally {
this.closeAll(conn, pstmt, rs);
}
return null;
}
public static void main(String[] args) {
UUID uuid = UUID.randomUUID();
String uid=uuid.toString().replaceAll("-","");
System.out.println(uid.substring(0,5));
int i = 5;
int m=10;
System.out.println("mm:"+i/m);
MysqlBaseDao seedDao=new MysqlBaseDao();
Page page=new Page();
page.setPageNumber(3);
page.setPageSize(5);
Users user=new Users();
List<Users> list= seedDao.getSeedList(user, page);
for(Users sed:list){
System.out.println("id:"+sed.getId());
}
System.out.println("总共:"+list.size());
}
}
相关推荐
总之,"SSI框架搭建增删改查以及分页"项目是一个典型的Java Web开发实践,它涵盖了MVC架构、依赖注入和数据库操作等多个关键点。对于初学者来说,这个项目提供了很好的学习机会,能够帮助他们理解并掌握这些核心技术...
在本项目中,DWR被用来实现在不刷新整个页面的情况下进行数据的增删改查操作。用户可以通过前端界面发送请求,DWR将这些请求转换为Java方法调用,执行后返回结果,前端再根据结果更新显示,极大地提升了用户体验。 ...
在IT领域,尤其是在Web开发中,"jsp+servlet+mysql实现简单的增删改查+分页"是一个常见的学习主题,适合初学者理解基础的后端开发流程。这个组合提供了从客户端到服务器端再到数据库的数据交互能力,同时也包含了...
springboot项目,基于SpringBoot+Vue实现增删改查分页DEMO(源码+数据库) 技术栈 数据库:MySQL 后端框架:SpringBoot+Spring Data JPA 前端框架:Vue-ElementUI
本教程将详细讲解如何使用PDO进行单次和多次的增删改查操作,并结合百度分页实现多选删除功能。 首先,PDO是一个数据库访问抽象层,支持多种数据库系统,包括MySQL。使用PDO的优点在于其预处理语句,可以防止SQL...
接着,我们可以进行数据库的增删改查(CRUD)操作。例如,插入数据到`demo1`表: ```php $sql = "INSERT INTO demo1 (column1, column2) VALUES ('value1', 'value2')"; if ($conn->query($sql) === TRUE) { echo ...
在这个"javaMVC框架带分页的学生增删改查系统"中,我们主要关注的是如何使用MVC模式来实现对学生的数据操作,同时包含了分页功能,使得大量学生数据的管理更加高效。 **MVC模式详解:** 1. **模型(Model)**:在...
在IT行业中,数据库操作是开发应用的基础,"增删改查"(CRUD:Create, Read, Update, Delete)和分页功能是数据库管理的核心部分。本教程将深入讲解如何在MySQL数据库环境下,利用Eclipse集成开发环境实现这些功能。...
MySQL增删改查语句 MySQL 是一个关系型数据库管理系统,增删改查语句是数据库操作的基础。下面将详细介绍 MySQL 中的增删改查语句。 增(Insert) Insert 语句是向数据库中插入数据的基本语法。基本语法为: ``` ...
本项目"JSP+SERVLET+MYSQL实现的增删改查javaweb小例子"提供了一个基础的实战示例,帮助开发者了解如何将这三种技术有效地结合在一起,实现一个简单的Web应用,处理用户信息的CRUD(Create, Read, Update, Delete)...
在本文中,我们将深入探讨如何使用Ajax、GETJSON方法、Servlet以及JavaWeb技术来实现对MySQL数据库的分页增删改查操作。首先,我们理解一下这些技术的基础知识。 Ajax,全称为Asynchronous JavaScript and XML,是...
在IT行业中,"增删改查"(CRUD)是创建、读取、更新和删除数据的基本操作,它们构成了大多数数据库应用程序的基础。在SSI框架下实现增删改查,意味着用户可以通过网页界面进行数据的插入、查看、更新和删除。这通常...
在IT行业中,Maven和SSI(Server Side Includes)是两种重要的技术,而增删改查(CRUD)和分页则是Web开发中的基础操作。现在我们来深入探讨这些概念及其在实际项目中的应用。 首先,Maven是一个由Apache软件基金会...
在本文中,我们将深入探讨如何使用Node.js、Express框架和MySQL数据库来构建一个功能完备的Web应用程序,包括数据的增删改查(CRUD)操作、分页功能以及图片的上传处理。首先,我们先来了解这三个核心组件。 **Node...
在这个项目中,"ssm-maven增删改查+分页"着重展示了如何利用这个框架来实现基本的数据操作功能,包括对用户数据的增加(Add)、删除(Delete)、修改(Update)和查询(Query),并加入了分页功能以优化用户体验。...
【简易分页增删改查系统】是一种常见的Web应用程序开发框架,主要利用Java技术栈,包括SpringMVC、Mybatis和MySQL数据库。本系统旨在提供一个基础的、易于理解和实现的CRUD(创建、读取、更新、删除)功能,以帮助...
在"SSM框架整合增删改查分页demo"中,我们可以深入理解这三个组件如何协同工作,实现数据的CRUD(创建、读取、更新、删除)操作,并进行高效的分页查询。 首先,Spring作为基础框架,负责管理应用中的对象,通过...
### MySQL数据库SQL语句增删改查笔记 #### 一、插入数据(Insert) 在MySQL中,`INSERT INTO`语句用于向表中插入新记录。语法格式为: ```sql INSERT INTO 表名 (列1, 列2, ..., 列n) VALUES (值1, 值2, ..., 值n...
在本项目中,Servlet被用来实现数据库的增删改查操作,这是Web应用中最基础也是最常用的功能。增删改查(CRUD)代表创建(Create)、读取(Retrieve)、更新(Update)和删除(Delete),是数据管理的基本操作。 MySQL是一...
增删改查 四种语句对象的封装,可以通用。首先在项目中添加引用