Mybatis简单架构之静态SQL语句

dao层:

package com.qcby.dao;

import com.qcby.entity.Student;
import com.qcby.entity.User;

import java.util.List;

public interface StudentDao {
    List findAll();
    Integer delete(Integer id);
    Student findById(Integer id);
    List findByName(String name);
    List findByStudent(Student student);
    Integer insert(Student student);
    List findAllStudent(Integer pageSize,Integer pageStart);
    List findAllStudentByName(Student student);
    List findStudentByName(String name);
}

实体层:

package com.qcby.entity;

import java.util.List;

public class Student {
    private Integer id;
    private String name;
    private String sex;
    private String phone;
    private String password;
    private Integer age;

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

    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 String getSex() {
        return sex;
    }

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

    public String getPhone() {
        return phone;
    }

    public void setPhone(String phone) {
        this.phone = phone;
    }

    public String getPassword() {
        return password;
    }

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

    public Integer getAge() {
        return age;
    }

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

mapper:




    
    
    

    
        delete from student where id = #{id}
    

    

    

    
    

    
        insert into student (name,sex,phone,password,age) value (#{name},#{sex},#{phone},#{password},#{age})
    

    
    
        
            SELECT LAST_INSERT_ID()
        
        insert into student (name,sex,phone,password,age) values (#{name},#{sex},#{phone},#{password},#{age});
    

    
    

    

    
    

Test文件:

import com.qcby.dao.StudentDao;
import com.qcby.entity.Student;
import com.qcby.entity.User;
import org.apache.ibatis.io.Resources;
import org.apache.ibatis.session.SqlSession;
import org.apache.ibatis.session.SqlSessionFactory;
import org.apache.ibatis.session.SqlSessionFactoryBuilder;
import org.junit.After;
import org.junit.Before;
import org.junit.Test;

import java.io.IOException;
import java.io.InputStream;
import java.sql.Date;
import java.util.Arrays;
import java.util.List;
public class StudentTest {
    private InputStream in = null;
    private SqlSession session = null;
    private StudentDao mapper = null;

    @Before  //前置通知, 在方法执行之前执行
    public void init() throws IOException {
        //加载主配置文件,目的是为了构建SqlSessionFactory对象
        in = Resources.getResourceAsStream("SqlMapConfig.xml");
        //创建SqlSessionFactory对象
        SqlSessionFactory factory = new SqlSessionFactoryBuilder().build(in);
        //通过SqlSessionFactory工厂对象创建SqlSesssion对象
        session = factory.openSession();
        //通过Session创建UserDao接口代理对象
        mapper = session.getMapper(StudentDao.class);
    }

    @After  //@After: 后置通知, 在方法执行之后执行 。
    public void destory() throws IOException {
        //释放资源
        session.close();
        in.close();
    }

    @Test
    public void aaa(){
        List  students = mapper.findAll();
        for (Student student: students
        ) {
            System.out.println(student.toString());
        }
    }

    @Test
    public void delete(){
        mapper.delete(4);
        session.commit();//事务提交
    }

    @Test
    public void findById(){
        Student student = mapper.findById(1);
        System.out.println(student.toString());
    }

    @Test
    public void findByName(){
        List students = mapper.findByName("熊大");
        for (Student student : students) {
            System.out.println(student.toString());
        }
    }

    @Test
    public void findByUser(){
        Student student = new Student();
        student.setName("熊二");
        student.setPassword("123");
        List students = mapper.findByStudent(student);
        for (Student student1 : students) {
            System.out.println(student1.toString());
        }
    }

    @Test
    public void insert(){
        Student student = new Student();
        student.setSex("女");
        student.setPhone("123444444");
        student.setName("貂蝉");
        mapper.insert(student);
        session.commit();
    }

    @Test
    public void findAllStudent(){
        Integer pageSize = 5;
        Integer pageIndex = 1;
        Integer pageStart = pageSize * (pageIndex - 1);
        List students = mapper.findAllStudent(pageSize, pageStart);
        for (Student student1 : students) {
            System.out.println(student1.toString());
        }
    }
    @Test
    public void findStudentByName(){
        List students = mapper.findStudentByName("%张%");
        for (Student student1 : students) {
            System.out.println(student1.toString());
        }
    }
}

你可能感兴趣的:(Mybatis,mybatis,架构,sql)