`

java应用程序修改数据库

阅读更多

配置和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
分享到:
评论

相关推荐

    Java数据库应用程序编程指南随书源码

    通过这些资源,读者可以更直观地学习Java数据库连接(JDBC)API的使用,以及如何设计和实现数据库驱动的Java应用程序。 首先,我们要理解Java数据库应用程序的基础,这通常涉及到JDBC(Java Database Connectivity...

    Java数据库应用程序编程指南数据库脚本

    这些脚本通常以`.sql`文件格式存储,可以通过JDBC在Java应用程序中执行。 在实际开发中,你还需要了解事务管理。Java中的`Connection`对象提供了开始、提交和回滚事务的方法,确保数据库操作的一致性和完整性。此外...

    java 多线程操作数据库

    本文将基于一个具体的Java多线程操作数据库的应用程序,深入探讨其背后的原理、实现细节以及潜在的挑战。 #### 核心知识点: 1. **多线程基础**:多线程是Java编程中的一个重要概念,允许程序同时执行多个任务。在...

    Java应用程序连接Oracle数据库的详细步骤

    在Java编程环境中,连接Oracle数据库是一项基础且重要的任务,它使得Java应用程序能够访问和操作存储在Oracle数据库中的数据。以下是一份详细的步骤指南,涵盖了从安装必要的软件到编写和执行Java代码的所有环节。 ...

    JavaSwing开发简单数据库 personDB 源码

    源码的提供者是CSDN博主"placidzhang",我们可以从中学习如何在Java应用中整合数据库操作。 首先,Swing提供了丰富的组件,如JButton、JLabel、JTable等,用于构建用户友好的图形界面。在personDB项目中,可能使用...

    Java数据库连接Java数据库连接.ppt

    数据库连接是指 Java 程序与数据库之间的连接,通过 JDBC(Java DataBase Connection)API 实现。JDBC 是 Java 中的数据库连接 API,它提供了一组标准的接口来连接数据库。 数据库访问是指 Java 程序对数据库的操作...

    java小程序读取数据库并替换生成新的文本

    首先,Java与数据库的连接主要依赖于JDBC(Java Database Connectivity),这是一个Java API,允许Java程序通过标准接口与各种类型的数据库进行通信。使用JDBC,我们需要导入对应的数据库驱动,例如对于MySQL,我们...

    Java 课件Java 数据库连接 vb数据库 数据库爱好 数据

    JDBC是Java平台的标准接口,允许Java应用程序连接到各种类型的数据库。开发者可以通过加载数据库驱动,建立数据库连接,执行SQL语句,处理结果集等一系列步骤来与数据库进行交互。例如,使用`Class.forName()`加载...

    java版图书馆管理系统源程序及数据库

    本篇将详细解析一个基于Java开发的图书馆管理系统,包括其源程序和数据库的设计与应用。 首先,我们要了解Java语言在开发这种系统中的优势。Java以其跨平台性、稳定性和丰富的类库,成为开发大型应用系统的首选语言...

    java数据库连接详解

    3. **连接**:`Connection`对象代表了Java应用程序与数据库之间的连接。它是所有数据库操作的基础。 4. **语句执行**:`Statement`、`PreparedStatement`和`CallableStatement`等接口用于执行SQL语句,并返回结果集...

    吉林大学DB2数据库应用程序开发 Java

    任务1 将P171页程序片段补充完整 任务2 Modify the program labstaff.java 任务3 Modify the program labupdate.java 任务4 将labupdate.java修改为GUI的形式,用户输入和修改结果的输出均通过调用JOptionPane类的...

    java做的学生信息数据库应用程序

    在项目中,数据库驱动(可能是JDBC,Java Database Connectivity)被用来连接Java应用程序和MySQL数据库,通过执行SQL语句实现数据的增删改查。"studns.sql"文件很可能是数据库的初始化脚本,包含了创建学生信息表的...

    通用java数据库连接程序

    在IT行业中,数据库连接是Java应用程序中的重要环节,特别是在开发涉及数据存储和检索的应用时。本资源提供的"通用java数据库连接程序"是一个可复用的组件,能够方便地在各种项目中集成,以实现与数据库的无缝交互。...

    基于Java RMI的分布式数据库系统的应用与研究.pdf

    在客户机端实现Java RMI时,开发者需要首先建立服务器对象,并将应用程序转换为远程接口类型。Java RMI运行过程中能够实现客户程序与接口之间的交互,保证对象间的正常交互,不影响数据交换。此外,客户端还需通过...

    JDBC,MySQL和JDBCProxy联合实现Java数据库.pdf

    MySQL 是一种流行的关系型数据库管理系统,而 JDBCProxy 则是一个开源的 JDBC 代理项目,能够记录 Java 应用程序的数据库访问过程并将其重现。 JDBC 的主要功能是提供了一种统一的方式来访问不同的关系型数据库,...

    Java与数据库的链接的简单应用(JAVA)

    1. **Java Database Connectivity (JDBC)**: JDBC是Java平台中的一个标准接口,它允许Java应用程序连接到各种类型的数据库。通过JDBC API,开发者可以执行SQL语句,处理结果集,并管理数据库连接。 2. **DataSource...

Global site tag (gtag.js) - Google Analytics