mybatis--Spring整合mybatis

今天学习了mybatis整合Spring开发,做了一个mybatis+spring的小实例

(1)首先,创建数据库my,并在数据库my中创建表user

create database my;
 
use my;
create table user(
id int(10) auto_increment,
name varchar(64),
level varchar(256),
phone varchar(256),
primary key(id)
);
 
insert into user(id,name,level,phone) values(1,'a','a','1234555666');

(2)导入jar包

(3)在com.zk.pojo下创建实体类User.java

package com.zk.pojo;

public class User {
	private int id;
	private String name;
	private String level;
	private String phone;
	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 String getLevel() {
		return level;
	}
	public void setLevel(String level) {
		this.level = level;
	}
	public String getPhone() {
		return phone;
	}
	public void setPhone(String phone) {
		this.phone = phone;
	}
	@Override
	public String toString() {
		return "User [id=" + id + ", name=" + name + ", level=" + level
				+ ", phone=" + phone + "]";
	}
	
}

(4)创建dao层接口、实现类、mapper映射文件(UserMapper.java、UserMapperImpl.java、UserMapper.xml)

UserMapper.java

package com.zk.dao;

import java.util.List;

import com.zk.pojo.User;

public interface UserMapper {

	List<User> getUser(User user);
}

UserMapperImpl.java

package com.zk.dao;

import java.util.List;

import org.mybatis.spring.SqlSessionTemplate;

import com.zk.pojo.User;

public class UserMapperImpl implements UserMapper{

	public SqlSessionTemplate sqlSession;

	@Override
	public List<User> getUser(User user) {
		// TODO Auto-generated method stub
		return sqlSession.selectList("com.zk.dao.UserMapper.getUserList",user);
	}
	public SqlSessionTemplate getSqlSession() {
		return sqlSession;
	}
 
	public void setSqlSession(SqlSessionTemplate sqlSession) {
		this.sqlSession = sqlSession;
	}
}

UserMapper.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.zk.dao.UserMapper">
	<select id="getUserList" resultType="User" parameterType="User">
		SELECT * FROM `user` 
	</select>
</mapper>

(5)创建service层接口、实现类(UserService.java、UserServiceImpl.java)

 UserService.java

package com.zk.service;

import java.util.List;

import com.zk.pojo.User;

public interface UserService{

	List<User> findUserList(User user) throws Exception;
}

 UserServiceImpl.java

package com.zk.service;

import java.util.List;

import com.zk.dao.UserMapper;
import com.zk.pojo.User;

public class UserServiceImpl implements UserService{

	private UserMapper usermapper;
	@Override
	public List<User> findUserList(User user) throws Exception {
		// TODO Auto-generated method stub
		try {
			return usermapper.getUser(user);
		} catch (Exception e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
			throw e;
		}
	}
	public UserMapper getUsermapper() {
		return usermapper;
	}
	public void setUsermapper(UserMapper usermapper) {
		this.usermapper = usermapper;
	}
}

(6)配置config.xml

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-config.dtd">
<configuration>
 
 <typeAliases>
		<package name="com.zk.pojo"/>
	</typeAliases>
</configuration>

(7)配置ApplicationContext.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:aop="http://www.springframework.org/schema/aop"
	xsi:schemaLocation="http://www.springframework.org/schema/beans
         http://www.springframework.org/schema/beans/spring-beans.xsd
         http://www.springframework.org/schema/aop
         http://www.springframework.org/schema/aop/spring-aop.xsd
         http://www.springframework.org/schema/tx
         http://www.springframework.org/schema/tx/spring-tx-3.2.xsd">
         <!-- 配置数据源 -->
         <bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource">
         	<property name="driverClassName" value="com.mysql.jdbc.Driver"/>
         	<property name="url" value="jdbc:mysql://localhost:3306/my"/>
         	<property name="username" value="root"/>
         	<property name="password" value="123456"/>
         </bean>
         <!-- 获得sqlSessionFactory -->
         <bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
         	<!-- 映射数据源 -->
         	<property name="dataSource" ref="dataSource"/>
         	<!-- 映射mybatis核心配置文件 -->
         	<property name="configLocation" value="config/config.xml"/>
         	<!-- 映射mapper文件 -->
         	<property name="mapperLocations">
         	<list>
         	<value>classpath:com/zk/dao/**/*.xml</value>
         	</list>
         	</property>
         </bean>
         <!-- 获得sqlSession -->
         <bean id="sqlSession" class="org.mybatis.spring.SqlSessionTemplate">
         	<constructor-arg name="sqlSessionFactory" ref="sqlSessionFactory"/>
         </bean>
         <bean id="UserMapper" class="com.zk.dao.UserMapperImpl">
         	<property name="sqlSession" ref="sqlSession"/>
         </bean>
         <bean id="UserService" class="com.zk.service.UserServiceImpl">
         	<property name="usermapper" ref="UserMapper"/>
         </bean>
</beans>

(8)测试类Main

package test;

import java.util.ArrayList;
import java.util.List;

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

import com.zk.pojo.User;
import com.zk.service.UserService;

public class test {
	public static void main(String[]args) throws Exception
	{
		ApplicationContext ac=new ClassPathXmlApplicationContext("config/applicationContext.xml");
		UserService us=(UserService) ac.getBean("UserService");
		List<User> user1=new ArrayList<User>();
		User user=new User();
		user1=us.findUserList(user);
		System.out.println(user1);
	}
}

  运行结果图如下:

程序结构图如下:

 

转载于:https://www.cnblogs.com/longlyseul/p/11258841.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值