- 浏览: 168985 次
- 性别:
- 来自: 武汉
文章分类
最新评论
配置和BS差不多,附上程序
1、用来传输对象的DTO
package com.yihaodian.pis.dto; import java.io.Serializable; public class SiteCategoryDto implements Serializable { private static final long serialVersionUID = -8202969095017554696L; /** * 分类id */ private Integer id; /** * 网站id */ private Integer siteId; /** * 分类名称 */ private String categoryName; /** * 分类产品列表对应的url */ private String categoryUrl; /** * 父分类id */ private Integer parentCategoryId; /** * 分类级别 */ private Integer categoryLevel; /** * 商品抓取数量 */ private Integer fetchSize; /** * 网站名称 */ private String siteName; /** * 父亲分类名称 */ private String parentName; public Integer getId() { return id; } public void setId(Integer id) { this.id = id; } public Integer getSiteId() { return siteId; } public void setSiteId(Integer siteId) { this.siteId = siteId; } public String getCategoryName() { return categoryName; } public void setCategoryName(String categoryName) { this.categoryName = categoryName; } public String getCategoryUrl() { return categoryUrl; } public void setCategoryUrl(String categoryUrl) { this.categoryUrl = categoryUrl; } public Integer getParentCategoryId() { return parentCategoryId; } public void setParentCategoryId(Integer parentCategoryId) { this.parentCategoryId = parentCategoryId; } public Integer getCategoryLevel() { return categoryLevel; } public void setCategoryLevel(Integer categoryLevel) { this.categoryLevel = categoryLevel; } public Integer getFetchSize() { return fetchSize; } public void setFetchSize(Integer fetchSize) { this.fetchSize = fetchSize; } @Override public String toString() { StringBuilder builder = new StringBuilder(); builder.append("SiteCategory [id="); builder.append(id); builder.append(", siteId="); builder.append(siteId); builder.append(", categoryName="); builder.append(categoryName); builder.append(", categoryUrl="); builder.append(categoryUrl); builder.append(", fetchSize="); builder.append(fetchSize); builder.append(", categoryLevel="); builder.append(categoryLevel); builder.append(", parentCategoryId="); builder.append(parentCategoryId); builder.append("]"); return builder.toString(); } public String getSiteName() { return siteName; } public void setSiteName(String siteName) { this.siteName = siteName; } public String getParentName() { return parentName; } public void setParentName(String parentName) { this.parentName = parentName; } }
2、对数据库操作的DAO
package com.yihaodian.pricehisotry.dao; import org.springframework.orm.ibatis.support.SqlMapClientDaoSupport; import com.yihaodian.pis.dto.SiteCategoryDto; /** * 畅销商品数据库操作 */ public class SiteCategoryDao extends SqlMapClientDaoSupport{ public SiteCategoryDao() { } public int clearSiteCategories(int id) { return this.getSqlMapClientTemplate().delete("clearSiteCategories", id); } /* * 保存分类畅销商品记录 */ public void saveSiteCategory(SiteCategoryDto siteCategory) { this.getSqlMapClientTemplate().insert("addSiteCategory", siteCategory); } public Integer getMaxId(){ Object count = this.getSqlMapClientTemplate().queryForObject("getMaxId"); return Integer.parseInt(count.toString()); } /** * 添加分类畅销商品记录 */ public int addSiteCategory(SiteCategoryDto siteCategory) { return (int) ((Long) this.getSqlMapClientTemplate().insert( "addSiteCategory", siteCategory)).longValue(); } }
3、SQLmap对数据库操作的语句
<?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE sqlMap PUBLIC "-//ibatis.apache.org//DTD SQL Map 2.0//EN" "http://ibatis.apache.org/dtd/sql-map-2.dtd" > <sqlMap namespace="bestseller"> <typeAlias alias="SiteCategoryDto" type="com.yihaodian.pis.dto.SiteCategoryDto" /> <resultMap class="SiteCategoryDto" id="SiteCategoryResult"> <result property="id" column="id" javaType="java.lang.Integer" jdbcType="SERIAL" /> <result property="siteId" column="site_id" javaType="java.lang.Integer" jdbcType="INTEGER" /> <result property="categoryName" column="category_name" javaType="java.lang.String" jdbcType="VARCHAR" /> <result property="categoryUrl" column="category_url" javaType="java.lang.String" jdbcType="VARCHAR" /> <result property="parentCategoryId" column="parent_category_id" javaType="java.lang.Integer" jdbcType="INTEGER" /> <result property="categoryLevel" column="category_level" javaType="java.lang.Integer" jdbcType="INTEGER" /> <result property="fetchSize" column="fetch_size" javaType="java.lang.Integer" jdbcType="INTEGER" /> </resultMap> <insert id="addSiteCategory" parameterClass="SiteCategoryDto"> INSERT INTO pis.site_category(site_id,category_name,category_url,parent_category_id,category_level,fetch_size) VALUES (#siteId#,#categoryName#,#categoryUrl#,#parentCategoryId#,#categoryLevel#,#fetchSize#) <selectKey> SELECT lastval(); </selectKey> </insert> <select id="countGetAllSiteCategory" resultClass="java.lang.Integer"> select count(*) FROM pis.site_category </select> <delete id="deleteSiteCategory" parameterClass="java.lang.Integer"> DELETE FROM pis.site_category where id=#id# </delete> <delete id="clearSiteCategories" parameterClass="java.lang.Integer"> DELETE FROM pis.site_category where site_id = #site_id# </delete> <select id="countGetCategoryBySite" resultClass="java.lang.Integer"> select count(*) FROM pis.site_category where site_id=#siteId# </select> <select id="countGetCategoryBySiteLevel" resultClass="java.lang.Integer"> select count(*) FROM pis.site_category where site_id=#siteId# and category_level=#categoryLevel# </select> <select id="getCategoryByName" parameterClass="SiteCategoryDto" resultMap="SiteCategoryResult"> SELECT id,site_id,category_name,category_url,parent_category_id,category_level,fetch_size FROM pis.site_category where site_id=#siteId# and category_level=#categoryLevel# and category_name=#categoryName# </select> <select id="getCategoryByParentId" parameterClass="java.lang.Integer" resultMap="SiteCategoryResult"> SELECT id,site_id,category_name,category_url,parent_category_id,category_level,fetch_size FROM pis.site_category where parent_category_id=#parentCategoryId# </select> <select id="queryCategoryById" parameterClass="java.lang.Integer" resultMap="SiteCategoryResult"> SELECT id,site_id,category_name,category_url,parent_category_id,category_level,fetch_size FROM pis.site_category where id=#id# </select> <select id="getMaxId" resultClass="java.lang.Integer"> select max(id) from pis.site_category; </select> </sqlMap>
4、DAO的申明配置
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" "http://www.springframework.org/dtd/spring-beans.dtd"> <beans> <!----> <bean id="siteCategoryDao" class="com.yihaodian.pricehisotry.dao.SiteCategoryDao"> <property name="dataSource" ref="dataSource" /> <property name="sqlMapClient" ref="sqlMapClient" /> </bean> </beans>
5、连接数据库的配置
<?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:p="http://www.springframework.org/schema/p" xmlns:aop="http://www.springframework.org/schema/aop" xmlns:tx="http://www.springframework.org/schema/tx" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.5.xsd http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-2.5.xsd http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-2.5.xsd"> <!-- org.springframework.beans.factory.config.PropertyPlaceholderConfigurer com.yihaodian.common.util.DecryptPropertyPlaceholderConfigurer --> <bean id="propertyConfigurer" class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer"> <property name="location"> <value>classpath:jdbc.properties</value> </property> </bean> <bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close"> <property name="driverClassName" value="${jdbc.driverClassName}" /> <property name="url" value="${jdbc.url}" /> <property name="username" value="${jdbc.username}" /> <property name="password" value="${jdbc.password}" /> <property name="maxActive" value="100" /> <property name="maxIdle" value="30" /> <property name="maxWait" value="1000" /> <property name="defaultAutoCommit" value="true" /> <property name="removeAbandoned" value="true" /> <property name="removeAbandonedTimeout" value="60" /> </bean> <!-- SqlMap setup for iBATIS Database Layer --> <bean id="sqlMapClient" class="org.springframework.orm.ibatis.SqlMapClientFactoryBean"> <property name="configLocation"> <value>classpath:sqlmap-config.xml</value> </property> <property name="dataSource" ref="dataSource" /> </bean> <!-- Transaction manager for a single JDBC DataSource --> <!-- <tx:annotation-driven /> <bean id="transactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager"> <property name="dataSource" ref="dataSource" /> </bean> --> </beans>
6、将数据库操作XML引入
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE sqlMapConfig PUBLIC "-//ibatis.apache.org//DTD SQL Map Config 2.0//EN" "http://ibatis.apache.org/dtd/sql-map-config-2.dtd"> <sqlMapConfig> <settings enhancementEnabled="true" maxTransactions="10" maxRequests="32" maxSessions="20" /> <!-- --> <sqlMap resource="sqlmap/sqlmap_Bestseller.xml"/> </sqlMapConfig>
- src.rar (38.3 KB)
- 下载次数: 0
- config.rar (10.5 KB)
- 下载次数: 0
相关推荐
通过这些资源,读者可以更直观地学习Java数据库连接(JDBC)API的使用,以及如何设计和实现数据库驱动的Java应用程序。 首先,我们要理解Java数据库应用程序的基础,这通常涉及到JDBC(Java Database Connectivity...
这些脚本通常以`.sql`文件格式存储,可以通过JDBC在Java应用程序中执行。 在实际开发中,你还需要了解事务管理。Java中的`Connection`对象提供了开始、提交和回滚事务的方法,确保数据库操作的一致性和完整性。此外...
本文将基于一个具体的Java多线程操作数据库的应用程序,深入探讨其背后的原理、实现细节以及潜在的挑战。 #### 核心知识点: 1. **多线程基础**:多线程是Java编程中的一个重要概念,允许程序同时执行多个任务。在...
在Java编程环境中,连接Oracle数据库是一项基础且重要的任务,它使得Java应用程序能够访问和操作存储在Oracle数据库中的数据。以下是一份详细的步骤指南,涵盖了从安装必要的软件到编写和执行Java代码的所有环节。 ...
源码的提供者是CSDN博主"placidzhang",我们可以从中学习如何在Java应用中整合数据库操作。 首先,Swing提供了丰富的组件,如JButton、JLabel、JTable等,用于构建用户友好的图形界面。在personDB项目中,可能使用...
数据库连接是指 Java 程序与数据库之间的连接,通过 JDBC(Java DataBase Connection)API 实现。JDBC 是 Java 中的数据库连接 API,它提供了一组标准的接口来连接数据库。 数据库访问是指 Java 程序对数据库的操作...
首先,Java与数据库的连接主要依赖于JDBC(Java Database Connectivity),这是一个Java API,允许Java程序通过标准接口与各种类型的数据库进行通信。使用JDBC,我们需要导入对应的数据库驱动,例如对于MySQL,我们...
JDBC是Java平台的标准接口,允许Java应用程序连接到各种类型的数据库。开发者可以通过加载数据库驱动,建立数据库连接,执行SQL语句,处理结果集等一系列步骤来与数据库进行交互。例如,使用`Class.forName()`加载...
本篇将详细解析一个基于Java开发的图书馆管理系统,包括其源程序和数据库的设计与应用。 首先,我们要了解Java语言在开发这种系统中的优势。Java以其跨平台性、稳定性和丰富的类库,成为开发大型应用系统的首选语言...
3. **连接**:`Connection`对象代表了Java应用程序与数据库之间的连接。它是所有数据库操作的基础。 4. **语句执行**:`Statement`、`PreparedStatement`和`CallableStatement`等接口用于执行SQL语句,并返回结果集...
任务1 将P171页程序片段补充完整 任务2 Modify the program labstaff.java 任务3 Modify the program labupdate.java 任务4 将labupdate.java修改为GUI的形式,用户输入和修改结果的输出均通过调用JOptionPane类的...
在项目中,数据库驱动(可能是JDBC,Java Database Connectivity)被用来连接Java应用程序和MySQL数据库,通过执行SQL语句实现数据的增删改查。"studns.sql"文件很可能是数据库的初始化脚本,包含了创建学生信息表的...
在IT行业中,数据库连接是Java应用程序中的重要环节,特别是在开发涉及数据存储和检索的应用时。本资源提供的"通用java数据库连接程序"是一个可复用的组件,能够方便地在各种项目中集成,以实现与数据库的无缝交互。...
在客户机端实现Java RMI时,开发者需要首先建立服务器对象,并将应用程序转换为远程接口类型。Java RMI运行过程中能够实现客户程序与接口之间的交互,保证对象间的正常交互,不影响数据交换。此外,客户端还需通过...
MySQL 是一种流行的关系型数据库管理系统,而 JDBCProxy 则是一个开源的 JDBC 代理项目,能够记录 Java 应用程序的数据库访问过程并将其重现。 JDBC 的主要功能是提供了一种统一的方式来访问不同的关系型数据库,...
1. **Java Database Connectivity (JDBC)**: JDBC是Java平台中的一个标准接口,它允许Java应用程序连接到各种类型的数据库。通过JDBC API,开发者可以执行SQL语句,处理结果集,并管理数据库连接。 2. **DataSource...