0
点赞
收藏
分享

微信扫一扫

Spring-Mybatis的学习

大柚子top 2023-10-26 阅读 35

导入jar包导入数据库

Spring-Mybatis的学习_xml

Spring-Mybatis的学习_xml_02

编写配置文件

Spring-Mybatis的学习_spring_03

Config.xml

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

<properties resource=""></properties>

<!-- 别名 -->
<typeAliases>
<package name="cn.lexed.pojo"/>
</typeAliases>



</configuration>

db.properties

driverClassName=com.mysql.jdbc.Driver
url=jdbc:mysql://localhost:3306/test2
username=root
password=root

编写Student类

Spring-Mybatis的学习_java_04

Student.java

package cn.lexed.pojo;

public class Student {
	private Integer id;
	private String name;
	private Integer age;
	public Student() {
		super();
	}
	public Student(Integer id, String name, Integer age) {
		super();
		this.id = id;
		this.name = name;
		this.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 Integer getAge() {
		return age;
	}
	public void setAge(Integer age) {
		this.age = age;
	}
	@Override
	public String toString() {
		return "Student [id=" + id + ", name=" + name + ", age=" + age + "]";
	}
	
}

编写StudentService和StudentServiceImpl

Spring-Mybatis的学习_xml_05

StudentService.java

package cn.lexed.service;

import java.util.List;

import cn.lexed.pojo.Student;

public interface StudentService {
	
	List<Student> selectStudents();//查询所有
	
	Student selectById(int id);
	
}

StudentServiceImpl.java

package cn.lexed.service.impl;

import java.util.List;

import javax.annotation.Resource;

import org.springframework.stereotype.Service;

import cn.lexed.dao.StudentMapper;
import cn.lexed.pojo.Student;
import cn.lexed.service.StudentService;

@Service("studentService")
public class StudentServiceImpl implements StudentService{
	
	@Resource(name="studentMapper")
	private StudentMapper stu;
	
	@Override
	public List<Student> selectStudents() {
		// TODO Auto-generated method stub
		return stu.selectStudents();//调用dao层
	}

	@Override
	public Student selectById(int id) {
		// TODO Auto-generated method stub
		return stu.selectById(id);
	}
	
}

编写StudentMapper

Spring-Mybatis的学习_spring_06

StudentMapper.java

package cn.lexed.dao;

import java.util.List;

import cn.lexed.pojo.Student;

public interface StudentMapper {
	
	List<Student> selectStudents();//查询所有
	
	Student selectById(int id);//根据id查询
}

StudentMapper.xml

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "mybatis-3-mapper.dtd" >
<mapper namespace="cn.lexed.dao.StudentMapper">

<!-- 查询所有数据 -->
<select id="selectStudents" resultType="Student">
select * from student
</select>

<!-- 根据id查询数据 -->
<select id="selectById" resultType="Student" parameterType="int">
select * from student where id=#{id}
</select>
</mapper>

编写配置文件(点击Namespaces添加context)

Spring-Mybatis的学习_xml_07

app.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-3.2.xsd">

<!-- 引入db.properties -->
<bean class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
<property name="location" value="db.properties"></property>
</bean>

<!-- 配置druid数据库连接池 -->
<bean id="MyDataSouce" class="com.alibaba.druid.pool.DruidDataSource">
<property name="url" value="${url}"></property>
<property name="username" value="${username}"></property>
<property name="password" value="${password}"></property>
</bean>

<!-- 声明mybatis中提供的SqlSessionFactoryBean -->
<bean id="sqlSession" class="org.mybatis.spring.SqlSessionFactoryBean">
<!--  -->
<property name="dataSource" ref="MyDataSouce"></property>
<!-- configLocation:读取配置文件 -->
<property name="configLocation" value="classpath:config.xml"></property>
</bean>

<!-- 创建Dao对象 -->
<bean class="org.mybatis.spring.mapper.MapperScannerConfigurer">
<!-- MapperScannerConfigurer会扫描这个包中所有接口,把每个接口都执行
     一次getMapper()方法,得到每个接口的dao对象,把这个对象放到Spring
     容器中,dao对象的默认名称是 接口名首字母小写 -->
<property name="basePackage" value="cn.lexed.dao"></property>
</bean>

<!-- 配置组件扫描器,扫描类中的注解 -->
<context:component-scan base-package="cn.lexed.service"></context:component-scan>

</beans>

编写测试类

Spring-Mybatis的学习_spring_08

Test.java

package cn.lexed.test;

import static org.junit.Assert.*;

import java.util.List;

import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;

import cn.lexed.pojo.Student;
import cn.lexed.service.StudentService;

public class Test {

	@org.junit.Test
	public void test() {
		ApplicationContext ac=new ClassPathXmlApplicationContext("app.xml");
		StudentService s=(StudentService)ac.getBean("studentService");
		List<Student> stu=s.selectStudents();
		System.out.println(stu);
	}
	@org.junit.Test
	public void test1() {
		ApplicationContext ac=new ClassPathXmlApplicationContext("app.xml");
		StudentService s=(StudentService)ac.getBean("studentService");
		Student stu=s.selectById(1);
		System.out.println(stu);
	}
}

举报

相关推荐

0 条评论