(Maven) Spring+Mybatis+Druid 注解形式

这里先贴出pom.xml里面所导入的jar (跟我的上一个贴没什么区别吧。少了ORM)



    4.0.0

    Spring+Mybatis+Druid+Maven
    1.0
    1.0-SNAPSHOT
    
        
        
            javax.servlet.jsp.jstl
            jstl-api
            1.2
        
        
            javax.servlet
            javax.servlet-api
            4.0.0-b03
        
        
            javax.servlet
            jstl
            1.2
        
        
            taglibs
            standard
            1.1.2
        
        
        
            com.fasterxml.jackson.core
            jackson-databind
            2.9.0.pr4
        
        
            com.fasterxml.jackson.core
            jackson-core
            2.9.8
        
        
            com.fasterxml.jackson.core
            jackson-annotations
            2.9.8
        
        
        
            org.aspectj
            aspectjweaver
            1.9.2
        
        
            org.aspectj
            com.springsource.org.aspectj.weaver
            1.6.8.RELEASE
        
        
        
            commons-fileupload
            commons-fileupload
            1.3.3
        
        
            commons-io
            commons-io
            2.6
        
        
        
            com.alibaba
            druid
            1.0.31
        
        
            mysql
            mysql-connector-java
            8.0.13
        
        
            org.mybatis
            mybatis
            3.4.6
        
        
            org.mybatis
            mybatis-spring
            1.3.2
        
        
        
            junit
            junit
            4.12
        
        
        
            org.hamcrest
            hamcrest-core
            1.3
        
        
        
            org.apache.logging.log4j
            log4j-core
            2.6.2
        
        
            org.apache.logging.log4j
            log4j-api
            2.6.2
        
             
            org.apache.logging.log4j
            log4j-slf4j-impl
            2.6.2
        
        
            org.slf4j 
            log4j-over-slf4j
            1.7.12
        
        
        
            com.lmax
            disruptor
            3.3.6
        
        
            org.slf4j
            slf4j-simple
            1.7.25
            test
        
        
            commons-logging
            commons-logging
            1.2
        
        
        
            org.springframework
            spring-core
            4.3.21.RELEASE
        
        
            org.springframework
            spring-beans
            4.3.21.RELEASE
        
        
            org.springframework
            spring-context
            4.3.21.RELEASE
        
        
            org.springframework
            spring-jdbc
            4.3.21.RELEASE
        
        
            org.springframework
            spring-web
            4.3.21.RELEASE
        
        
            org.springframework
            spring-webmvc
            4.3.21.RELEASE
        
        
            org.springframework
            spring-test
            4.3.21.RELEASE
        
        
        
            org.springframework
            spring-context-support
            4.3.21.RELEASE
        
        
        
            org.freemarker
            freemarker
            2.3.23
        
        
        
            com.google.code.gson
            gson
            2.8.5
        
    
    
        
            
            
                src/main/java
                
                    **/*.xml
                
            
            
            
                src/main/resources
            
        
        
            
                org.apache.maven.plugins
                maven-compiler-plugin
                
                    1.8
                    1.8
                
            
        
    

Spring.xml的配置 当然这里配置了扫描。实际根据使用者来更改。




	
	
	
	
	
	
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
	
	
	
		
		
		
		
		
	
	
		
		
		
	
	
	
		
	

	
	
		
			
			
			
		
	
	
	
		
	

这里是实体类和相对应接口+XML

package pojo;

import java.io.Serializable;

/**
 * student
 * @author 
 */
public class Student implements Serializable {
    private Integer id;

    private String name;

    private Integer age;

    private String password;

    private static final long serialVersionUID = 1L;

    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 getAge() {
        return age;
    }

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

    public String getPassword() {
        return password;
    }

    public void setPassword(String password) {
        this.password = password;
    }

    @Override
    public boolean equals(Object that) {
        if (this == that) {
            return true;
        }
        if (that == null) {
            return false;
        }
        if (getClass() != that.getClass()) {
            return false;
        }
        Student other = (Student) that;
        return (this.getId() == null ? other.getId() == null : this.getId().equals(other.getId()))
            && (this.getName() == null ? other.getName() == null : this.getName().equals(other.getName()))
            && (this.getAge() == null ? other.getAge() == null : this.getAge().equals(other.getAge()))
            && (this.getPassword() == null ? other.getPassword() == null : this.getPassword().equals(other.getPassword()));
    }

    @Override
    public int hashCode() {
        final int prime = 31;
        int result = 1;
        result = prime * result + ((getId() == null) ? 0 : getId().hashCode());
        result = prime * result + ((getName() == null) ? 0 : getName().hashCode());
        result = prime * result + ((getAge() == null) ? 0 : getAge().hashCode());
        result = prime * result + ((getPassword() == null) ? 0 : getPassword().hashCode());
        return result;
    }

    @Override
    public String toString() {
        StringBuilder sb = new StringBuilder();
        sb.append(getClass().getSimpleName());
        sb.append(" [");
        sb.append("Hash = ").append(hashCode());
        sb.append(", id=").append(id);
        sb.append(", name=").append(name);
        sb.append(", age=").append(age);
        sb.append(", password=").append(password);
        sb.append(", serialVersionUID=").append(serialVersionUID);
        sb.append("]");
        return sb.toString();
    }
}

dao接口

package dao;

import pojo.Student;

public interface StudentDao {
    int deleteByPrimaryKey(Integer id);

    int insert(Student record);

    int insertSelective(Student record);

    Student selectByPrimaryKey(Integer id);

    int updateByPrimaryKeySelective(Student record);

    int updateByPrimaryKey(Student record);
}



  
    
    
    
    
  
  
    id, `name`, age, `password`
  
  
  
    delete from student
    where id = #{id,jdbcType=INTEGER}
  
  
    insert into student (`name`, age, `password`
      )
    values (#{name,jdbcType=VARCHAR}, #{age,jdbcType=INTEGER}, #{password,jdbcType=VARCHAR}
      )
  
  
    insert into student
    
      
        `name`,
      
      
        age,
      
      
        `password`,
      
    
    
      
        #{name,jdbcType=VARCHAR},
      
      
        #{age,jdbcType=INTEGER},
      
      
        #{password,jdbcType=VARCHAR},
      
    
  
  
    update student
    
      
        `name` = #{name,jdbcType=VARCHAR},
      
      
        age = #{age,jdbcType=INTEGER},
      
      
        `password` = #{password,jdbcType=VARCHAR},
      
    
    where id = #{id,jdbcType=INTEGER}
  
  
    update student
    set `name` = #{name,jdbcType=VARCHAR},
      age = #{age,jdbcType=INTEGER},
      `password` = #{password,jdbcType=VARCHAR}
    where id = #{id,jdbcType=INTEGER}
  

最后直接测试类

import dao.StudentDao;
import org.junit.runner.RunWith;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Configurable;
import org.springframework.test.context.ContextConfiguration;
import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
import pojo.Student;

@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration("classpath*:applicationContext.xml")
public class Test {
    @Autowired
    private StudentDao studentDao;

    @org.junit.Test
    public void test1(){
        Student student = studentDao.selectByPrimaryKey(1);
        System.out.println(student.getName());
    }


}

测试结果

aa

Process finished with exit code 0

个人感觉还是 mybatis好用过hibernate。主要是配置方便啊。。(就是懒)
而且分页那些也是可以跟hibernate一样直接生成。直接调用就很方便

你可能感兴趣的:((Maven) Spring+Mybatis+Druid 注解形式)