东软培训-002

数据库操作

实体bean

package org.mo.model;

public class UserModel {
	private Integer id;
	private String name;
	private Integer age;

	public Integer getId() {
		return id;
	}

	public void setId(Integer id) {
		this.id = id;
	}

	public String getName() {
		return name;
	}

	public void setName(String name) {
		this.name = name;
	}

	public Integer getAge() {
		return age;
	}

	public void setAge(Integer age) {
		this.age = age;
	}

}

//查询类

package org.mo.model;

public class UserQueryModel extends UserModel {

	private Integer age2;

	public Integer getAge2() {
		return age2;
	}

	public void setAge2(Integer age2) {
		this.age2 = age2;
	}

}

//连接数据库操作类

package org.mo.uitl;

import java.sql.SQLException;

import javax.sql.DataSource;

import org.apache.commons.dbcp.BasicDataSource;

public class ConnectionUtils {
	private BasicDataSource basicDataSource = new BasicDataSource();

	private ConnectionUtils() {
		basicDataSource.setDriverClassName("org.gjt.mm.mysql.Driver");
		basicDataSource
				.setUrl("jdbc:mysql://localhost:3306/test?useUnicode=true&characterEncoding=gb2312");
		basicDataSource.setUsername("root");
		basicDataSource.setPassword("root");

	}

	public void close() throws SQLException {
		basicDataSource.close();
	}

	/**
	 * 内部类
	 * 
	 * @author Administrator
	 * 
	 */
	private static class SingletonHolder {
		//饿汉式
		private static ConnectionUtils intance = new ConnectionUtils();
	}

	public static ConnectionUtils getIntance() {
		return SingletonHolder.intance;
	}

	public DataSource getDataSource() {
		return basicDataSource;
	}

}

//DAO

package org.mo.DAO;

import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.List;

import org.mo.model.UserModel;
import org.mo.model.UserQueryModel;
import org.mo.uitl.ConnectionUtils;

public class UserJDBCDAO {

	public void create(UserModel userModel) {
		Connection connection = null;
		try {
			connection = ConnectionUtils.getIntance().getDataSource().getConnection();
			final String SQL="INSERT INTO tbl_user(id, name, age) VALUES(?,?,?)";
			PreparedStatement ps = connection.prepareStatement(SQL);
			ps.setInt(1, userModel.getId());
			ps.setString(2, userModel.getName());
			ps.setInt(3, userModel.getAge());
			ps.execute();
			ps.close();
		} catch (Exception e) {
		}finally{
			try {
				connection.close();
			} catch (SQLException e) {
				e.printStackTrace();
			}
		}
	}

	public void upate(UserModel userModel){
		Connection connection = null;
		try {
			connection = ConnectionUtils.getIntance().getDataSource().getConnection();
			final String SQL="UPDATE tbl_user SET name = ?, age = ? WHERE id = ?";
			PreparedStatement ps = connection.prepareStatement(SQL);
			ps.setString(1, userModel.getName());
			ps.setInt(2, userModel.getAge());
			ps.setInt(3, userModel.getId());
			ps.execute();
			ps.close();
		} catch (Exception e) {
		}finally{
			try {
				connection.close();
			} catch (SQLException e) {
				e.printStackTrace();
			}
		}
	}

	public void delete(Integer id){
		Connection connection = null;
		try {
			connection = ConnectionUtils.getIntance().getDataSource().getConnection();
			final String SQL="DELETE tbl_user WHERE id = ?";
			PreparedStatement ps = connection.prepareStatement(SQL);
			ps.setInt(1, id);
			ps.execute();
			ps.close();
		} catch (Exception e) {
		}finally{
			try {
				connection.close();
			} catch (SQLException e) {
				e.printStackTrace();
			}
		}
	}

	public UserModel getSingle(Integer id){
		Connection connection = null;
		UserModel userModel = null;
		try {
			connection = ConnectionUtils.getIntance().getDataSource().getConnection();
			final String SQL="select id,name,age FROM tbl_user WHERE id = ?";
			PreparedStatement ps = connection.prepareStatement(SQL);
			ps.setInt(1, id);
			ResultSet executeQuery = ps.executeQuery();
			if(executeQuery.next()){
				userModel = rsModel(executeQuery);
			}
			executeQuery.close();
			ps.close();
		} catch (Exception e) {
		}finally{
			try {
				connection.close();
			} catch (SQLException e) {
				e.printStackTrace();
			}
		}
		return userModel;
	}

	public List<UserModel> getAll(){
		Connection connection = null;
		List<UserModel> userModels = new ArrayList<UserModel>();
		try {
			connection = ConnectionUtils.getIntance().getDataSource().getConnection();
			final String SQL="select id,name,age FROM tbl_user";
			PreparedStatement ps = connection.prepareStatement(SQL);
			ResultSet executeQuery = ps.executeQuery();
			if(executeQuery.next()){
				UserModel userModel = rsModel(executeQuery);
				userModels.add(userModel);
			}
			executeQuery.close();
			ps.close();
		} catch (Exception e) {
		}finally{
			try {
				connection.close();
			} catch (SQLException e) {
				e.printStackTrace();
			}
		}
		return userModels;
	}

	private UserModel rsModel(ResultSet executeQuery) throws SQLException {
		UserModel userModel = new UserModel();
		int int1 = executeQuery.getInt("id");
		String string = executeQuery.getString("name");
		int int2 = executeQuery.getInt("age");
		userModel.setId(int1);
		userModel.setName(string);
		userModel.setAge(int2);
		return userModel;
	}

	private String genWhere(UserQueryModel userQuseryModel) {
		StringBuffer stringBuffer = new StringBuffer();
		if(userQuseryModel.getId() > 0){
			stringBuffer.append(" and id = ? ");
		}
		if (userQuseryModel.getName().trim().length() > 0
				|| userQuseryModel.getName() != null) {
			stringBuffer.append(" and name like ? ");
		}
		if(userQuseryModel.getAge() > 0 ){
			stringBuffer.append(" and age >= ? ");
		}
		if(userQuseryModel.getAge2() > 0 ){
			stringBuffer.append(" and age <= ? ");
		}
		return stringBuffer.toString();
	}

	private void preparePs(UserQueryModel uqm, PreparedStatement ps) throws Exception {
		int count = 1;
		if (uqm.getId() > 0) {
			ps.setInt(count++, uqm.getId());
		}
		if (uqm.getName() != null && uqm.getName().trim().length() > 0) {
			ps.setString(count++, uqm.getName());
		}
		if (uqm.getAge() > 0) {
			ps.setInt(count++, uqm.getAge());
		}
		if (uqm.getAge2() > 0) {
			ps.setInt(count++, uqm.getAge2());
		}
	}

	public List<UserModel> getByCondition(UserQueryModel model){
		Connection connection = null;
		List<UserModel> userModels = new ArrayList<UserModel>();
		try {
			connection = ConnectionUtils.getIntance().getDataSource().getConnection();
			final String SQL="select id,name,age FROM tbl_user WHERE 1=1 " 
						+ genWhere(model) + " ORDER BY id ";
			PreparedStatement ps = connection.prepareStatement(SQL);
			preparePs(model, ps);
			ResultSet executeQuery = ps.executeQuery();
			if(executeQuery.next()){
				UserModel userModel = rsModel(executeQuery);
				userModels.add(userModel);
			}
			executeQuery.close();
			ps.close();
		} catch (Exception e) {
		}finally{
			try {
				connection.close();
			} catch (SQLException e) {
				e.printStackTrace();
			}
		}
		return userModels;
	}
}

//jar包

mysql-connector-java-5.1.8-bin.jar

commons-pool.jar

commons-dbcp.jar

时间: 2024-11-19 16:26:33

东软培训-002的相关文章

东软培训-003

继续上面的一篇文章 package org.mo.action; import java.util.List; import org.mo.DAO.UserJDBCDAO; import org.mo.model.UserModel; import com.opensymphony.xwork2.ActionSupport; public class UserAction extends ActionSupport { private List<UserModel> list; private

东软培训-004

昨天说的那个hibernate太简单了,所以就没发出来,今天教spring+springmvc //LoginAction.java package org.mo.spring; import java.util.HashMap; import java.util.Map; import org.springframework.validation.BindException; import org.springframework.web.servlet.ModelAndView; import

东软培训-001

1 vo层 javaBean 2 工具层 一类 数据库打开与关闭 3 DAO层 接口 4 实现层 实现类 5 代理层 6 工场层 7 JSP 8 servlet ============================================================= D:\Java\jdk1.7.0_67\bin\native2ascii 编码工具 ========================================================== 使用stru

【绝密外泄】风哥Oracle数据库DBA高级工程师培训视频教程与内部资料v0.1

由于是[绝密外泄]资料,防止被查,需要的小伙伴赶紧下载附件中的课件文档. 由于视频太大了,已放在百度网盘了,已经在附中说明,以免被和谐. ---------------------------------------------- 第一部分:Oracle视频压缩包目录列表 ---------------------------------------------- 01.[绝密外泄]风哥全套Oracle数据库DBA高级工程师培训教程-视频分章节(不断更新) 02.[绝密外泄]风哥全套Oracle

web前端培训机构哪家好?

AAA教育课程设计引进北美先进技术,贴近中国软件企业的实际需求,同时,聘请北美海外专家与来自IBM.华为.用友.亚信.东软等国内外名企的一线实战专家担任讲师,以确保高端培训效果.AAA教育在课程设计与培训模式上不断创新,开创"零首付.低押金,就业后付款"的就业模式,改革培训模式保持培训规模扩大的同时确保90%以上的就业率,同时高质量就业. AAA教育在线在西安.沈阳.重庆.襄樊.长沙.深圳等全国各地,都设有人才服务外包基地,合作院校上千家,合作单位上万家,在校生上万人,培养出一批又一批

android内部培训视频_第四节(1)_异步网络操作

第四节(1):异步网络操作  一.结合asyncTask下载网络图片 1.定义下载类,继承自asyncTask,参数分别为:String(url地址),Integer(刻度,本例没有用到),BitMap(下载成功后的图片) public class downloadImageTask extends AsyncTask<String, Integer, Bitmap> { /** * 在线程开始之前执行 */ @Override protected void onPreExecute() {

Linux培训教程 linux中nl命令使用介绍

nl命令在linux系统中用来计算文件中行号.nl 可以将输出的文件内容自动的加上行号!其默认的结果与 cat -n 有点不太一样, nl 可以将行号做比较多的显示设计,包括位数与是否自动补齐 0 等等的功能.兄弟连linux培训 小编介绍一下:linux中 nl 命令使用介绍. 1.命令格式: nl [选项]... [文件]... 2.命令参数: -b :指定行号指定的方式,主要有两种: -b a :表示不论是否为空行,也同样列出行号(类似 cat -n); -b t :如果有空行,空的那一行

HTML5培训第12节课堂笔记(本地存储、mui打开新页面、创建子页面)

HTML5培训第12节课堂笔记 1.     html5规范中本地储存localStorage与sessionStorage html5中的Web Storage包括了两种存储方式:sessionStorage和localStorage. sessionStorage用于本地存储一个会话(session)中的数据,这些数据只有在同一个会话中的页面才能访问并且当会话结束后数据也随之销毁.因此  sessionStorage不是一种持久化的本地存储,仅仅是会话级别的存储. localStorage用

东软 内部员工离职述说

怀着对软件的梦想,我来到了东软 从看到沈阳园区的第一眼起,我就深深喜欢上了这里,大气磅礴壮美的园区洋溢的是宁静和谐的气氛 当时真的觉得东软和宣传的一样简单.务实.美 起初很喜欢东软那种学校的氛围文化,但是不知道是因为我来到这里后发现的事实真相越来越多.还是因为东软真的变质了,我真的开始厌恶这里 本来作为一个东软的员工,我一向认为那个公司都有自己黑暗的一面,而且员工不应该说公司的不好,那样的话岂非自煽耳光证明自己选择的错误 现在我要离开这里了,带着破灭的梦想和伤心,可能还有稍许的愤慨,发表此文权当