spring+mybatis配置

spring框架和mybatis配置:

  1. dao层配置:

          1.1 Person_dao:

package com.xxzg.dao;

import com.xxzg.entity.Person;
import org.springframework.stereotype.Repository;

import java.util.List;

@Repository
public interface Person_dao {
    int pinsert(Person person);

    int pupdate(Person person);
}

          1.2 PersonMapper.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.xxzg.dao.Person_dao">

   <!--<resultMap id="personresultMap" type="Person" autoMapping="true">-->
       <!--<id property="id" column="id"/>-->
       <!--<result property="name" column="name"/>-->
       <!--<result property="age" column="age"/>-->
       <!--<result property="sex" column="sex"/>-->
       <!--<result property="depid" column="depid"/>-->
   <!--</resultMap>-->


    <select id="pquery" resultType="Person">
        select * from person
    </select>

    <insert id="pinsert">
        insert into person(name,age,sex,depid) values (#{name},#{age},#{sex},#{depid})
    </insert>
</mapper>

 2、entity层:

package com.xxzg.entity;

public class Person {
    private int id;
    private String name;
    private int age;
    private String sex;
    private int depid;

    public Person() {
    }

    public Person(int id, String name, int age, String sex, int depid) {
        this.id = id;
        this.name = name;
        this.age = age;
        this.sex = sex;
        this.depid = depid;
    }

    public Person(String name, int age, String sex, int depid) {
        this.name = name;
        this.age = age;
        this.sex = sex;
        this.depid = depid;
    }

    public int getId() {
        return id;
    }

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

    public String getName() {
        return name;
    }

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

    public int getAge() {
        return age;
    }

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

    public String getSex() {
        return sex;
    }

    public void setSex(String sex) {
        this.sex = sex;
    }

    public int getDepid() {
        return depid;
    }

    public void setDepid(int depid) {
        this.depid = depid;
    }

    @Override
    public String toString() {
        return "Person{" +
                ", id='" + id + '\'' +
                ", name='" + name + '\'' +
                ", age=" + age +
                ", sex='" + sex + '\'' +
                ", depid=" + depid +
                '}';
    }
}

 3、service层:

     3.1 Person_service

package com.xxzg.service;

import com.xxzg.entity.Person;

import java.util.List;

public interface Person_service {
    int pinsert(Person person);

    int pdelete(Person person);

    int pupdate(Person person);

    List<Person> pquery(Person person);
}

    3.2 Person_serviceimpl

package com.xxzg.service;

import com.xxzg.dao.Person_dao;
import com.xxzg.entity.Person;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import java.util.List;

@Service
public class Person_serviceimpl implements Person_service {

    @Autowired
    private Person_dao person_dao;

    @Override
    public int pinsert(Person person) {
        return this.person_dao.pinsert(person);
    }

    @Override
    public int pdelete(Person person) {
        return this.person_dao.pdelete(person);
    }

    @Override
    public int pupdate(Person person) {
        return this.person_dao.pdelete(person);
    }

    @Override
    public List<Person> pquery(Person person) {
        return this.person_dao.pquery(person);
    }
}

 4、test层:

package com.xxzg.test;

import com.xxzg.entity.Person;
import com.xxzg.service.Person_service;
import org.springframework.context.support.ClassPathXmlApplicationContext;

import javax.sql.DataSource;
import java.util.List;
import java.util.Scanner;

public class test {
    public static void main(String[] args) {
        ClassPathXmlApplicationContext context = new ClassPathXmlApplicationContext("spring-config.xml");
        Person_service person_service = context.getBean(Person_service.class);

        System.out.println(
                "请选择功能,输入数字" +
                "1:注册  2:修改  3:删除  4:查询"
                   );

        Scanner sc = new Scanner(System.in);
        int numble=sc.nextInt();

//        将numble转换为String类型,来判断非空
        String num=numble+"";

        if (num!=null || numble==1){
//            输入想要输入的数据
           System.out.println("请输入名字");
           String name=sc.nextLine();

           System.out.println("请输入年龄");
           int age=sc.nextInt();

           System.out.println("请输入性别");
           String sex=sc.nextLine();

           System.out.println("请输入部门  1:");
        }
//        插入
        Person person1 = new Person();
        person1.setName("自来也");
        person1.setAge(45);
        person1.setSex("男");
        person1.setDepid(1);

        int pinsert = person_service.pinsert(person1);
        try {
            System.out.println("添加成功"+pinsert);
        }catch (Exception e){
            System.out.println("添加失败");
        }
//        查询
       List<Person> pquery = person_service.pquery(null);
       for (Person p:pquery
            ) {
           System.out.println(p);
       }

    }
}

 5、spring-mybatis:

      5.1 spring-config.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"
       xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd">
    <!--<context:component-scan>:配置自动扫描注解的包-->
    <context:component-scan base-package="com.xxzg"></context:component-scan>
    <context:property-placeholder location="classpath:jdbc.properties"></context:property-placeholder>

    <!--配置数据源-->
    <bean id="dataSource" class="com.alibaba.druid.pool.DruidDataSource">
       <property name="driverClassName" value="${jdbc.driver}"></property>
       <property name="url" value="${jdbc.url}"></property>
       <property name="username" value="${jdbc.username}"></property>
       <property name="password" value="${jdbc.password}"></property>
   </bean>


    <!--创建sqlSessionFactory,这是配置mybatis-->
    <bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
        <!--引入数据源-->
        <property name="dataSource" ref="dataSource"></property>

        <!--如果使用外部mybatis的配置文件-->
        <!--<property name="configLocation" value="classpath:mybatis-spring.xml"></property>-->
<!--这里不使用外部mybatis文件,直接在里边配置--> <!--配置dao接口的映射文件--> <property name="mapperLocations" value="classpath:com/xxzg/dao/*.xml"></property> <!--设置实体别名--> <property name="typeAliasesPackage" value="com/xxzg/entity"></property> </bean>
<!--配置扫描器,扫描dao接口,当利用mybatis时,dao接口就没有了实现类,需要扫描器做一些处理--> <bean class="org.mybatis.spring.mapper.MapperScannerConfigurer"> <property name="basePackage" value="com/xxzg/dao"></property> </bean> </beans>

         5.2  spring-config.xml的里mybtis用的配置:

jdbc.driver=com.mysql.jdbc.Driver
jdbc.url=jdbc:mysql://localhost:3306/springtest
jdbc.username=root
jdbc.password=root

 需要的驱动:

<!--mysql驱动-->
    <dependency>
      <groupId>mysql</groupId>
      <artifactId>mysql-connector-java</artifactId>
      <version>5.1.6</version>
    </dependency>
<!--引入mybatis-->
    <dependency>
      <groupId>org.mybatis</groupId>
      <artifactId>mybatis</artifactId>
      <version>3.5.1</version>
    </dependency>
    <dependency>
      <groupId>org.mybatis</groupId>
      <artifactId>mybatis-spring</artifactId>
      <version>2.0.1</version>
    </dependency>
posted @ 2020-05-09 16:00  橙汁one  阅读(934)  评论(0)    收藏  举报