博主分享免费Java教学视频,B站账号:Java刘哥
一、开发准备
1、jar 包 包括 spring开发必备包,mybatis核心包,spring和mybatis整合包,日志包 还有 Junit4 包 2、数据库 我在本地测试,主机 localhost,用户名 root,密码为空 创建数据表 user,5个字段,测试数据如下二、文件结构
1、文件夹结构 config 存放配置文件 ----mybatis 存放mybatis的配置文件 ----spring 存放spring的配置文件 ----sqlmap 存放映射文件 ----db.properties 数据库连接属性 src 存放源代码 ----com.liuyanzhao.smm 包名 --------dao 存放dao类 --------po 存放持久类 --------test 存放测试类 本例文件一览 其中 jar 包放在 web/WEB_INF/lib 文件夹中,并已导入 环境中三、代码实现
应重视的文件,这里会高亮标识 1、Configuration.xml mybatis 全局配置文件- <?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>
- <!--加载映射文件-->
- <mappers>
- <!--单条映射-->
- <mapper resource="sqlmap/userDao.xml"></mapper>
- </mappers>
- </configuration>
- <?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"
- xmlns:aop="http://www.springframework.org/schema/aop"
- xmlns:tx="http://www.springframework.org/schema/tx"
- 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.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.xsd">
- <!--加载配置文件-->
- <context:property-placeholder location="classpath:db.properties"/>
- <!--数据源,配置c3p0连接池-->
- <bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource">
- <!--注入属性-->
- <property name="driverClass" value="${jdbc.driver}"></property>
- <property name="jdbcUrl" value="${jdbc.url}"></property>
- <property name="user" value="${jdbc.username}"></property>
- <property name="password" value="${jdbc.password}"></property>
- </bean>
- <!--sqlSessionFactory-->
- <bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
- <!--加载mybatis配置文件-->
- <property name="configLocation" value="mybatis/Configuration.xml"/>
- <!--配置数据源,ref和数据源的id一致-->
- <property name="dataSource" ref="dataSource"/>
- </bean>
- <!--原始dao接口,ref和sqlSessionFactory的id一致-->
- <bean id="userDao" class="com.liuyanzhao.ssm.dao.UserDaoImpl">
- <property name="sqlSessionFactory" ref="sqlSessionFactory"/>
- </bean>
- </beans>
- <?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="test">
- <select id="findUserById" parameterType="java.lang.Integer" resultType="com.liuyanzhao.ssm.po.User">
- SELECT * FROM user WHERE id=#{value}
- </select>
- </mapper>
- jdbc.driver=com.mysql.jdbc.Driver
- jdbc.url=jdbc:mysql://localhost:3306/mybatis?useUnicode=true&characterEncoding=utf8
- jdbc.username=root
- jdbc.password=
- package com.liuyanzhao.ssm.dao;
- import com.liuyanzhao.ssm.po.User;
- /**
- * Created by 言曌 on 2017/8/10.
- */
- public interface UserDao {
- //根据id查询用户信息
- public User findUserById(int id) throws Exception;
- }
- package com.liuyanzhao.ssm.dao;
- import com.liuyanzhao.ssm.po.User;
- import org.apache.ibatis.session.SqlSession;
- import org.mybatis.spring.support.SqlSessionDaoSupport;
- /**
- * Created by 言曌 on 2017/8/10.
- */
- public class UserDaoImpl extends SqlSessionDaoSupport implements UserDao{
- @Override
- public User findUserById(int id) throws Exception {
- //通过继承SqlSessionDaoSupport,通过this.getSqlSession()得到sqlSession
- SqlSession sqlSession = this.getSqlSession();
- //执行查询操作,赋值给user对象
- User user = sqlSession.selectOne("test.findUserById",id);
- //自动释放资源,不需要手动
- return user;
- }
- }
- package com.liuyanzhao.ssm.po;
- import java.util.Date;
- /**
- * 用户的持久类
- */
- public class User {
- private int id; //编号
- private String username; //用户名
- private String gender; //性别
- private Date birthday; //生日
- private String address; //地址
- public int getId() {
- return id;
- }
- public void setId(int id) {
- this.id = id;
- }
- public String getUsername() {
- return username;
- }
- public void setUsername(String username) {
- this.username = username;
- }
- public String getGender() {
- return gender;
- }
- public void setGender(String gender) {
- this.gender = gender;
- }
- public Date getBirthday() {
- return birthday;
- }
- public void setBirthday(Date birthday) {
- this.birthday = birthday;
- }
- public String getAddress() {
- return address;
- }
- public void setAddress(String address) {
- this.address = address;
- }
- @Override
- public String toString() {
- return "User{" +
- "id=" + id +
- ", username='" + username + '\'' +
- ", gender='" + gender + '\'' +
- ", birthday=" + birthday +
- ", address='" + address + '\'' +
- '}';
- }
- }
- package com.liuyanzhao.ssm.test;
- import com.liuyanzhao.ssm.dao.UserDao;
- import com.liuyanzhao.ssm.po.User;
- import org.junit.Before;
- import org.junit.Test;
- import org.springframework.context.ApplicationContext;
- import org.springframework.context.support.ClassPathXmlApplicationContext;
- /**
- * Created by 言曌 on 2017/8/14.
- */
- public class UserDaoImplTest {
- private ApplicationContext applicationContext;
- //在 setUp方法中得到spring容器
- @Before
- public void setUp() throws Exception{
- applicationContext =
- new ClassPathXmlApplicationContext("classpath:spring/applicationContext.xml");
- }
- @Test
- public void testFindUserById() throws Exception {
- UserDao userDao = (UserDao) applicationContext.getBean("userDao");
- //调用userDao的方法
- User user = userDao.findUserById(28);
- System.out.println(user);
- }
- }
- 微信
- 交流学习,有偿服务
- 博客/Java交流群
- 资源分享,问题解决,技术交流。群号:590480292
您可以选择一种方式赞助本站
支付宝扫一扫赞助
微信钱包扫描赞助
赏