淘忆项目之服务器端的初始化

来源:互联网 发布:双串联谐振双向三端口 编辑:程序博客网 时间:2024/05/01 02:25

淘忆项目之服务器端的初始化

服务器端的内容,我都是查询资料和参考一下视频教学中学习而来的。

下面说一下服务器端的一些初始化,因为只是一个简单的APP,所以服务器端写的比较没有技术含量,就是能够实现功能而已。

新建一个项目,记得加入web.xml文件。

第一步:数据库的连接和操作。

建立com.elaine.jdbc文件下建立JdbcUtils.java文件,写入如下代码:

package com.elaine.jdbc;

import java.lang.reflect.Field;

import java.sql.Connection;

import java.sql.DriverManager;

import java.sql.PreparedStatement;

import java.sql.ResultSet;

import java.sql.ResultSetMetaData;

import java.sql.SQLException;

import java.sql.Statement;

import java.util.ArrayList;

import java.util.HashMap;

import java.util.List;

import java.util.Map;

 

public class JdbcUtils {

private final String USERNAME = "root"; //数据库的用户名

private final String PASSWORD = "123456"; //数据库的密码

private final String DRIVER = "com.mysql.jdbc.Driver";

private final String URL = "jdbc:mysql://localhost:3306/taoyi"; //数据库的地址,端口等

private Connection connection;

private PreparedStatement pstmt;

private ResultSet resultSet;

private Statement stmt;

 

public JdbcUtils() {

try {

Class.forName(DRIVER);

} catch (Exception e) {

e.printStackTrace();

}

}

//连接数据库

public Connection getConnection() {

try {

connection = DriverManager.getConnection(URL, USERNAME, PASSWORD);

} catch (SQLException e) {

// TODO Auto-generated catch block

e.printStackTrace();

}

return connection;

}

//删除某条信息

public boolean deleteByBatch(String[] sql) throws SQLException {

boolean flag = false;

stmt = connection.createStatement();

if (sql != null) {

for (int i = 0; i < sql.length; i++) {

stmt.addBatch(sql[i]);

}

}

int[] count = stmt.executeBatch();

if (count != null) {

flag = true;

}

return flag;

}

//更新某条信息

public boolean updateByPreparedStatement(String sql, List<Object> params)

throws SQLException {

boolean flag = false;

int result = -1;

pstmt = connection.prepareStatement(sql);

int index = 1;

if (params != null && !params.isEmpty()) {

for (int i = 0; i < params.size(); i++) {

pstmt.setObject(index++, params.get(i));

}

}

result = pstmt.executeUpdate();

flag = result > 0 ? true : false;

return flag;

}

/**

 *查询某条信息

 *

 * @param sql

 * @param params

 * @return

 * @throws SQLException

 */

public Map<String, Object> findSimpleResult(String sql, List<Object> params)

throws SQLException {

Map<String, Object> map = new HashMap<String, Object>();

int index = 1;

pstmt = connection.prepareStatement(sql);

if (params != null && !params.isEmpty()) {

for (int i = 0; i < params.size(); i++) {

pstmt.setObject(index++, params.get(i));

}

}

resultSet = pstmt.executeQuery();

ResultSetMetaData metaData = resultSet.getMetaData();

int col_len = metaData.getColumnCount();

while (resultSet.next()) {

for (int i = 0; i < col_len; i++) {

String cols_name = metaData.getColumnName(i + 1);

Object cols_value = resultSet.getObject(cols_name);

if (cols_value == null) {

cols_value = "";

}

map.put(cols_name, cols_value);

}

}

return map;

}

 

/**

 * 查询多条数据

 *

 * @param sql

 * @param params

 * @return

 * @throws SQLException

 */

public List<Map<String, Object>> findMoreResult(String sql,

List<Object> params) throws SQLException {

List<Map<String, Object>> list = new ArrayList<Map<String, Object>>();

int index = 1;

pstmt = connection.prepareStatement(sql);

if (params != null && !params.isEmpty()) {

for (int i = 0; i < params.size(); i++) {

pstmt.setObject(index++, params.get(i));

}

}

resultSet = pstmt.executeQuery();

ResultSetMetaData metaData = resultSet.getMetaData();

int cols_len = metaData.getColumnCount();

while (resultSet.next()) {

Map<String, Object> map = new HashMap<String, Object>();

for (int i = 0; i < cols_len; i++) {

String cols_name = metaData.getColumnName(i + 1);

Object cols_value = resultSet.getObject(cols_name);

if (cols_value == null) {

cols_value = "";

}

map.put(cols_name, cols_value);

}

list.add(map);

}

return list;

}

 

// 泛型查询单挑数据

public <T> T findSimpleRefResult(String sql, List<Object> params,

Class<T> cls) throws Exception {

T resultObject = null;

int index = 1;

pstmt = connection.prepareStatement(sql);

if (params != null && !params.isEmpty()) {

for (int i = 0; i < params.size(); i++) {

pstmt.setObject(index++, params.get(i));

}

}

resultSet = pstmt.executeQuery();

ResultSetMetaData metaData = resultSet.getMetaData();

int cols_len = metaData.getColumnCount();

while (resultSet.next()) {

resultObject = cls.newInstance();

for (int i = 0; i < cols_len; i++) {

String cols_name = metaData.getColumnName(i + 1);

Object cols_value = resultSet.getObject(cols_name);

if (cols_value == null) {

cols_value = "";

}

Field field = cls.getDeclaredField(cols_name);

field.setAccessible(true);

field.set(resultObject, cols_value);

}

}

return resultObject;

}

 

/**

 * 泛型查询多条数据

 *

 * @param <T>

 * @param sql

 * @param params

 * @param cls

 * @return

 * @throws Exception

 */

public <T> List<T> findMoreRefResult(String sql, List<Object> params,

Class<T> cls) throws Exception {

List<T> list = new ArrayList<T>();

int index = 1;

pstmt = connection.prepareStatement(sql);

if (params != null && !params.isEmpty()) {

for (int i = 0; i < params.size(); i++) {

pstmt.setObject(index++, params.get(i));

}

}

resultSet = pstmt.executeQuery();

ResultSetMetaData metaData = resultSet.getMetaData();

int cols_len = metaData.getColumnCount();

while (resultSet.next()) {

T resultObject = cls.newInstance();

for (int i = 0; i < cols_len; i++) {

String cols_name = metaData.getColumnName(i + 1);

Object cols_value = resultSet.getObject(cols_name);

if (cols_value == null) {

cols_value = "";

}

Field field = cls.getDeclaredField(cols_name);

field.setAccessible(true);

field.set(resultObject, cols_value);

}

list.add(resultObject);

}

return list;

}

 

public void releaseConn() {

if (resultSet != null) {

try {

resultSet.close();

} catch (SQLException e) {

// TODO Auto-generated catch block

e.printStackTrace();

}

}

if (stmt != null) {

try {

stmt.close();

} catch (SQLException e) {

// TODO Auto-generated catch block

e.printStackTrace();

}

}

if (pstmt != null) {

try {

pstmt.close();

} catch (SQLException e) {

// TODO Auto-generated catch block

e.printStackTrace();

}

}

if (connection != null) {

try {

connection.close();

} catch (SQLException e) {

// TODO Auto-generated catch block

e.printStackTrace();

}

}

}

}

第二步:json数据的处理工具

建立com.elaine.tools,添加JsonTool.java,并且添加如下代码:

package com.elaine.tools;

 

import net.sf.json.JSONObject;

 

public class jsonTool {

 

public jsonTool() {

// TODO Auto-generated constructor stub

}

public static String creataJsonString(String key,Object value) {

JSONObject jsonObject=new JSONObject();

jsonObject.put(key, value);

return jsonObject.toString();

}

}

第三步:六位id的产生工具

com.elaine.tools下建立UUIDTools.java,并写下如下代码:

package com.elaine.tools;

 

import java.util.UUID;

 

public class UUIDtools {

 

public UUIDtools() {

// TODO Auto-generated constructor stub

}

 

public static String getUUID() {

UUID uuid = UUID.randomUUID();

return uuid.toString().replaceAll("-","").substring(0, 6);

}

}

 

0 0
原创粉丝点击