IDEA使用Spring、Mybatis实现简单的数据库查询。

一、创建一个mavan项目

二、创建两个module,dao层和entity层

三、在根层添加spring-context,spring-core,spring-beans,spring-jdbc,mybatis,mysql等dao层依赖

    <dependencies>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-beans</artifactId>
<version>5.0.8.RELEASE</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context</artifactId>
<version>5.0.8.RELEASE</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-core</artifactId>
<version>5.0.8.RELEASE</version>
</dependency>
<dependency>
<groupId>com.mchange</groupId>
<artifactId>c3p0</artifactId>
<version>0.9.5.2</version>
</dependency>
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis-spring</artifactId>
<version>1.3.2</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-jdbc</artifactId>
<version>5.0.9.RELEASE</version>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>8.0.12</version>
</dependency>
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis</artifactId>
<version>3.4.6</version>
</dependency>
</dependencies>

</project>

四、在dao层创建一个StudentMapper接口



五、在接口内添加一个findAllStudent查询学生方法
六、在dao层resources目录创建一个mapper目录用于存放Mapper.xml映射文件

  

    

Mapper.xml中所需要的映射信息及sql查询语句,需要注意的是因为没有mybatis-config.xml配置文件的配合,resultMap映射集的类型需要加上包名

扫描二维码关注公众号,回复: 3121010 查看本文章
<?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.nf.mapper.StudentMapper">

<resultMap id="resultStudent" type="com.nf.entity.Student">
<id property="id" column="stud_id"/>
<result property="name" column="name"/>
<result property="email" column="email"/>
<result property="dob" column="dbd"/>
</resultMap>

<select id="findAllStudent" resultMap="resultStudent">
select * from students
</select>
</mapper>
 七、在resources目录下创建applicationContext.xml Spring容器配置文件

 applicationContext代码如下:myDataSource连接池中记录着连接信息,
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd">

<bean id="myDataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource">
<property name="driverClass" value="com.mysql.cj.jdbc.Driver"></property>
<property name="jdbcUrl" value="jdbc:mysql://localhost:3306/batis?serverTimezone=GMT%2B8&amp;useSSL=false&amp;allowPublicKeyRetrieval=true"></property>
<property name="user" value="root"></property>
<property name="password" value="1101"></property>
</bean>

<bean id="mySqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
     //引用了myDataSource连接池
<property name="dataSource" ref="myDataSource"></property>
     //在mapper目录下找到Mapper.xml映射文件
<property name="mapperLocations" value="classpath*:mapper/*.xml"></property>
</bean>
</beans>

八、在entity层创建Student实体类,并使用快捷方式写出get()set()方法


九、在dao层再创建一个test包写一个Test类,在Test类中写main()方法开始测试
 测试代码如下:
package com.nf.test;

import com.nf.mapper.StudentMapper;
import org.apache.ibatis.session.SqlSession;
import org.apache.ibatis.session.SqlSessionFactory;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;

public class Test {

public static void main(String args[]){
     //实例化一个ClassPathXmlApplicationContext通过文件名查找方式找到
ApplicationContext ac = new ClassPathXmlApplicationContext("applicationContext.xml");
     //通过getBean方法找到applicationContext中的mySqlSessionFactory
SqlSessionFactory factory = (SqlSessionFactory) ac.getBean("mySqlSessionFactory");
SqlSession sqlSession = factory.openSession();
StudentMapper studao = sqlSession.getMapper(StudentMapper.class);
     //通过findAllStudent()方法查询数据库打印出数据的长度
System.out.println(studao.findAllStudent().size());
}
}
 十、测试结果成功,为七条
数据库中的数据为七条,验证成功
 

猜你喜欢

转载自www.cnblogs.com/tbb5199/p/9622903.html