用Spring+Mybatis写一个数据库增删改查

用Spring+Mybatis写一个数据库增删改查

总体结构

这里写图片描述

ClassBiz.java

package com.gxj.biz;

import java.util.List;

import com.gxj.model.Clazz;

public interface ClassBiz {

    public boolean InsertClass(Clazz clazz);

    public boolean DeleteClass(Integer id);

    public boolean UpdateClass(Clazz clazz);

    public List<Clazz> SelectClass();

}

ClassBizimplement.java

package com.gxj.biz;

import java.util.List;

import javax.annotation.Resource;

import org.springframework.stereotype.Service;

import com.gxj.dao.ClassDao;
import com.gxj.model.Clazz;
@Service("classbiz")
public class ClassBizimplement implements ClassBiz {
    @Resource
    private ClassDao  dao;

    @Override
    public boolean InsertClass(Clazz clazz) {
        // TODO Auto-generated method stub

        boolean flag = false;

        int res = dao.InsertClass(clazz);

        if(res>0) {

            flag = true;

        }

        return flag;
    }

    @Override
    public boolean DeleteClass(Integer id) {
        // TODO Auto-generated method stub

        boolean flag = false;

        int res = dao.DeleteClass(id);

        if(res>0) {

            flag = true;

        }

        return flag;
    }

    @Override
    public boolean UpdateClass(Clazz clazz) {
        // TODO Auto-generated method stub

        boolean flag = false;

        int res = dao.UpdateClass(clazz);

        if(res>0) {

            flag = true;

        }

        return flag;
    }

    @Override
    public List<Clazz> SelectClass() {
        // TODO Auto-generated method stub

        List<Clazz> list = dao.SelectClass();

        return list;
    }

}

ClassDao.java

package com.gxj.dao;

import java.util.List;

import com.gxj.model.Clazz;

public interface ClassDao {

    public int InsertClass(Clazz clazz);

    public int DeleteClass(Integer id);

    public int UpdateClass(Clazz clazz);

    public List<Clazz> SelectClass();

}

ClassDaoimplement.java

package com.gxj.dao;


import java.util.List;

import javax.annotation.Resource;

import org.springframework.jdbc.core.JdbcTemplate;
import org.springframework.stereotype.Repository;

import com.gxj.model.ClassRowMapper;
import com.gxj.model.Clazz;

@Repository
public class ClassDaoimplement implements ClassDao {

    @Resource
    private JdbcTemplate jt;

    @Override
    public int InsertClass(Clazz clazz) {
        // TODO Auto-generated method stub

        String sql = "insert into class(name,size) value(?,?)";

        int res = jt.update(sql,new Object[] {clazz.getName(),clazz.getSize()});

        return res;
    }

    @Override
    public int DeleteClass(Integer id) {
        // TODO Auto-generated method stub

        String sql = "delete from class where id=?";

        int res = jt.update(sql,new Object[] {id});

        return res;
    }

    @Override
    public int UpdateClass(Clazz clazz) {
        // TODO Auto-generated method stub

        String sql = "update class set name=?,size=? where id=?";

        int res = jt.update(sql, new Object[] {clazz.getName(),clazz.getSize(),clazz.getId()});

        return res;
    }

    @Override
    public List<Clazz> SelectClass() {
        // TODO Auto-generated method stub

        String sql = "select * from class";

        List<Clazz> list = jt.query(sql,new ClassRowMapper());

        return list;
    }

}

DeleteClass.java

package com.gxj.main;

import org.springframework.context.support.ClassPathXmlApplicationContext;

import com.gxj.biz.ClassBiz;

public class DeleteClass {

    public static void main(String[] args) {
        // TODO Auto-generated method stub

        ClassPathXmlApplicationContext context = new ClassPathXmlApplicationContext("spring.xml");

        ClassBiz biz = (ClassBiz) context.getBean("classbiz");

        boolean flag = biz.DeleteClass(21);

        System.out.println(flag);

    }

}

InsertClass.java

package com.gxj.main;

import org.springframework.context.support.ClassPathXmlApplicationContext;

import com.gxj.biz.ClassBiz;
import com.gxj.model.Clazz;

public class InsertClass {

    public static void main(String[] args) {
        // TODO Auto-generated method stub

        ClassPathXmlApplicationContext context = new ClassPathXmlApplicationContext("spring.xml");

        ClassBiz biz = (ClassBiz) context.getBean("classbiz");

        Clazz clazz = new Clazz();

        clazz.setName("ts17061");

        clazz.setSize(20);

        boolean flag = biz.InsertClass(clazz);

        System.out.println(flag);

    }

}

SelectClass.java

package com.gxj.main;

import java.util.List;

import org.springframework.context.support.ClassPathXmlApplicationContext;

import com.gxj.biz.ClassBiz;
import com.gxj.model.Clazz;

public class SelectClass {

    public static void main(String[] args) {
        // TODO Auto-generated method stub

        ClassPathXmlApplicationContext context = new ClassPathXmlApplicationContext("spring.xml");

        ClassBiz biz = (ClassBiz) context.getBean("classbiz");

        List<Clazz> list = biz.SelectClass();

        for(Clazz p:list) {

            System.out.println(p.getId());

            System.out.println(p.getName());

            System.out.println(p.getSize());

        }

    }

}

UpdateClass.java

package com.gxj.main;

import org.springframework.context.support.ClassPathXmlApplicationContext;

import com.gxj.biz.ClassBiz;
import com.gxj.model.Clazz;

public class UpdateClass {

    public static void main(String[] args) {
        // TODO Auto-generated method stub

        ClassPathXmlApplicationContext context = new ClassPathXmlApplicationContext("spring.xml");

        ClassBiz biz = (ClassBiz) context.getBean("classbiz");

        Clazz clazz = new Clazz();

        clazz.setId(20);

        clazz.setName("ts17066");

        clazz.setSize(55);

        boolean flag = biz.UpdateClass(clazz);

        System.out.println(flag);

    }

}

ClassRowMapper.java

扫描二维码关注公众号,回复: 2617817 查看本文章
package com.gxj.model;

import java.sql.ResultSet;
import java.sql.SQLException;

import org.springframework.jdbc.core.RowMapper;

public class ClassRowMapper implements RowMapper<Clazz> {

    @Override
    public Clazz mapRow(ResultSet arg0, int arg1) throws SQLException {
        // TODO Auto-generated method stub

        Clazz clazz = new  Clazz();

        clazz.setId(arg0.getInt(1));

        clazz.setName(arg0.getString(2));

        clazz.setSize(arg0.getInt(3));

        return clazz;

    }

}

Clazz.java

package com.gxj.model;

public class Clazz {

    private Integer id;

    private String name;

    private Integer size;

    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 getSize() {
        return size;
    }

    public void setSize(Integer size) {
        this.size = size;
    }

}

Clazz.xml

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">

<mapper namespace="com.gxj.dao.ClassDao">


<select id="SelectClass"  resultType="Clazz">

    select * from class

</select>

<insert id="InsertClass" parameterType="Clazz">

   insert into class(name,size) value(#{name},#{size})

</insert>

<delete id="DeleteClass" parameterType="int">

  delete from class where id=#{id}

</delete>

<update id="UpdateClass" parameterType="Clazz">

  update class set name=#{name},size=#{size} where id=#{id}

</update>

</mapper>

config.xml

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN" "http://mybatis.org/dtd/mybatis-3-config.dtd">
<configuration>

<typeAliases>

   <typeAlias type="com.gxj.model.Clazz"  alias="Clazz"/>

</typeAliases>

<mappers>

   <mapper resource="com/gxj/model/Clazz.xml"></mapper>

</mappers>

</configuration>

spring.xml

<?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:context="http://www.springframework.org/schema/context"
xmlns:util="http://www.springframework.org/schema/util"
xmlns:aop="http://www.springframework.org/schema/aop"
xmlns:tx="http://www.springframework.org/schema/tx"
xmlns:mvc="http://www.springframework.org/schema/mvc"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.5.xsd
http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.0.xsd
http://www.springframework.org/schema/util http://www.springframework.org/schema/util/spring-util-2.5.xsd
http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx.xsd
http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop.xsd
http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc-3.0.xsd">

<context:annotation-config/>   <!-- 开启自动扫描功能 -->

<context:component-scan base-package="com.gxj.dao"></context:component-scan>
<context:component-scan base-package="com.gxj.biz"></context:component-scan>

<bean  id="ds"  class="org.apache.commons.dbcp.BasicDataSource">

     <property name="username">

            <value>root</value>//数据库的用户名

     </property>

     <property name="password">

          <value>123456</value>//数据库的密码

     </property>

     <property name="url">

             <value>jdbc:mysql://localhost:3306/itcast</value>//itcast是数据库名

     </property>

     <property name="driverClassName">

          <value>com.mysql.jdbc.Driver</value>

     </property>

</bean>

<bean  id="jdbctemplate"   class="org.springframework.jdbc.core.JdbcTemplate">

    <property name="dataSource">

         <ref  bean="ds"/>

    </property>

</bean>

</beans>

pom.xml

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
  <modelVersion>4.0.0</modelVersion>
  <groupId>com.gxj</groupId>
  <artifactId>ts170607</artifactId>
  <version>0.0.1-SNAPSHOT</version>

  <properties>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
        <spring.version>5.0.6.RELEASE</spring.version>
        <jackson.version>2.5.0</jackson.version>
    </properties>

    <dependencies>

       <dependency>

            <groupId>commons-dbcp</groupId>
            <artifactId>commons-dbcp</artifactId>
            <version>1.4</version>
        </dependency>

        <dependency>
            <groupId>junit</groupId>
            <artifactId>junit</artifactId>
            <version>4.12</version>
            <scope>test</scope>
        </dependency>

        <!-- spring -->
    <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-core</artifactId>
        <version>${spring.version}</version>
    </dependency>

    <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-beans</artifactId>
        <version>${spring.version}</version>
    </dependency>

    <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-context</artifactId>
        <version>${spring.version}</version>
    </dependency>

    <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-tx</artifactId>
        <version>${spring.version}</version>
    </dependency>

    <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-web</artifactId>
        <version>5.0.6.RELEASE</version>
    </dependency>

    <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-webmvc</artifactId>
        <version>${spring.version}</version>
    </dependency>


    <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-jdbc</artifactId>
        <version>${spring.version}</version>
    </dependency>

    <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-test</artifactId>
        <version>${spring.version}</version>
        <scope>test</scope>
    </dependency>

    <!-- mybatis 包 -->
    <dependency>
        <groupId>org.mybatis</groupId>
        <artifactId>mybatis</artifactId>
        <version>3.2.8</version>
    </dependency>

    <!--mybatis spring 插件 -->
    <dependency>
        <groupId>org.mybatis</groupId>
        <artifactId>mybatis-spring</artifactId>
        <version>1.2.2</version>
    </dependency>

    <!-- mysql连接 -->

    <dependency>
        <groupId>mysql</groupId>
        <artifactId>mysql-connector-java</artifactId>
        <version>5.1.6</version>
    </dependency>


    <!-- 数据源 -->
    <dependency>
        <groupId>com.alibaba</groupId>
        <artifactId>druid</artifactId>
        <version>1.0.12</version>
    </dependency>

    <dependency>
        <groupId>org.aspectj</groupId>
        <artifactId>aspectjweaver</artifactId>
        <version>1.8.4</version>
    </dependency>

    <!-- log4j -->
    <dependency>
        <groupId>log4j</groupId>
        <artifactId>log4j</artifactId>
        <version>1.2.17</version>
    </dependency>

    <!-- servlet -->
    <dependency>
        <groupId>javax.servlet</groupId>
        <artifactId>servlet-api</artifactId>
        <version>3.0-alpha-1</version>
        <scope>provided</scope>
    </dependency>

    <dependency>
        <groupId>javax.servlet</groupId>
        <artifactId>jstl</artifactId>
        <version>1.2</version>
    </dependency>

    <!-- json -->
    <dependency>
        <groupId>org.codehaus.jackson</groupId>
        <artifactId>jackson-mapper-asl</artifactId>
        <version>1.9.13</version>
    </dependency>

    <dependency>
        <groupId>com.alibaba</groupId>
        <artifactId>fastjson</artifactId>
        <version>1.2.3</version>
    </dependency>

    <dependency>
        <groupId>com.fasterxml.jackson.core</groupId>
        <artifactId>jackson-annotations</artifactId>
        <version>2.9.4</version>
    </dependency>

    <dependency>
        <groupId>com.fasterxml.jackson.core</groupId>
        <artifactId>jackson-core</artifactId>
        <version>2.9.4</version>
    </dependency>

    <dependency>
        <groupId>com.fasterxml.jackson.core</groupId>
        <artifactId>jackson-databind</artifactId>
        <version>2.9.4</version>
    </dependency>


    <!-- 文件上传 -->
    <dependency>
        <groupId>commons-io</groupId>
        <artifactId>commons-io</artifactId>
        <version>2.4</version>
    </dependency>

    <dependency>
        <groupId>commons-fileupload</groupId>
        <artifactId>commons-fileupload</artifactId>
        <version>1.2.2</version>
    </dependency>


   <dependency>
    <groupId>org.codehaus.jackson</groupId>
                <artifactId>com.springsource.org.codehaus.jackson.mapper</artifactId>
<version>1.4.3</version>
</dependency>

<dependency>
<groupId>org.codehaus.jackson</groupId>
<artifactId>com.springsource.org.codehaus.jackson</artifactId>
<version>1.4.3</version>
</dependency>


</dependencies>


<build>  
<plugins>  
    <plugin>  
        <groupId>org.apache.maven.plugins</groupId>  
        <artifactId>maven-compiler-plugin</artifactId>  
        <configuration>  
            <source>1.8</source>  
            <target>1.8</target>  
        </configuration>  
    </plugin>  
</plugins>  
</build> 
</project>

也同样需要些数据库中表

这里写图片描述

猜你喜欢

转载自blog.csdn.net/Stay_Hungry_Stay/article/details/81490509