第一个Mybatis
来源:互联网 发布:索隆vs熊 知乎 编辑:程序博客网 时间:2024/06/01 07:43
第一个Mybatis的项目构建
第一步
导入Mybatis的jar包(在maven中心仓库搜索Mybatis下载即可,Mybatis的jar包很简单仅仅只有一个)
mybatis-3.2.3.jar
第二步
配置Mybatis的全局xml文件
mybatis-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"><!-- Mybatis全局配置文件 --><configuration><environments default="development"><environment id="development"><!-- 事务管理器 --><transactionManager type="JDBC"></transactionManager><!-- 数据源-连接池 --><dataSource type="POOLED"><property name="driver" value="org.gjt.mm.mysql.Driver" /><property name="url" value="jdbc:mysql://localhost:3306/mybatis?useUnicode=true&characterEncoding=utf-8" /><property name="username" value="root" /><property name="password" value="root" /></dataSource></environment></environments><mappers><!-- 需要映射的mybatis路径 --><mapper resource="com/chy/dao/user-mapper.xml" /></mappers></configuration>
第三步
构建基本项目结构UserDao接口类代码
package com.chy.dao;import java.util.List;import com.chy.ro.UserRo;public interface UserDao {/** * 查询所有的用户 */List<UserRo> selectAllUser();}
UserRo类代码(省略getter、setter、toString代码)
public class UserRo {private Integer userId;private String userName;private Integer userMoney;}
第四步
由于构建Mybatis的SqlSession的获取方法相同,所有封装一个获取SqlSession对象的方法类MybaitsUtil类代码
package util;import java.io.IOException;import java.io.InputStream;import org.apache.ibatis.io.Resources;import org.apache.ibatis.session.SqlSession;import org.apache.ibatis.session.SqlSessionFactory;import org.apache.ibatis.session.SqlSessionFactoryBuilder;public class MybatisUtil {private static SqlSessionFactory sessionFactory;static{try {String resource="mybatis-config.xml";//找到mybatis的全局配置文件InputStream inputStream = Resources.getResourceAsStream(resource);//读取mybatis的全局配置文件//创建SqlSession的建造工厂SqlSessionFactoryBuilder sessionFactoryBuild=new SqlSessionFactoryBuilder();sessionFactory = sessionFactoryBuild.build(inputStream);//把读取到的文件放入工厂进行解析} catch (IOException e) {System.out.println("文件找不到,读取失败!");e.printStackTrace();}}/** * 获取Mybatis Session */public static SqlSession getSession(){return sessionFactory.openSession();}}
第五步
写UserDao接口的实现类
UserDaoMybaitsImpl类代码(没有考虑异常,如果有,我相信你知道如何解决)
package com.chy.dao.impl;import java.util.List;import org.apache.ibatis.session.SqlSession;import util.MybatisUtil;import com.chy.dao.UserDao;import com.chy.ro.UserRo;public class UserDaoMybatisImpl implements UserDao {@Overridepublic List<UserRo> selectAllUser() {SqlSession session = MybatisUtil.getSession();List<UserRo> selectList = session.selectList("selectAllUser");session.close();return selectList;}}
第六步
写上mybatis的局部映射
user-mapper.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.chy.UserDao"><!-- 这里的id对应的是接口的方法名字(行业推荐) --><select id="selectAllUser" resultType="com.chy.ro.UserRo">select * from user</select></mapper>
第七步
在这我为了方便直接使用junit工具写的测试
TestMybatis类代码
package com.chy.test;import java.util.List;import org.junit.Test;import com.chy.dao.UserDao;import com.chy.dao.impl.UserDaoMybatisImpl;import com.chy.ro.UserRo;public class TestMybatis {@Testpublic void SelectAll(){UserDao dao=new UserDaoMybatisImpl();List<UserRo> selectAllUser = dao.selectAllUser();System.out.println(selectAllUser);}}
最后的运行结果
PS:如果运行结果是地址而不是数据,请检查是否Ro类重写toString方法
阅读全文
0 0
- 第一个mybatis例子
- mybatis第一个helloworld
- 第一个MyBatis程序
- Mybatis 第一个Demo
- mybatis第一个问题
- 第一个Mybatis
- mybatis的第一个程序
- mybatis入门-第一个程序
- mybatis入门-第一个程序
- mybatis入门-第一个程序
- Mybatis第一个小程序
- 构建第一个Mybatis应用
- 【MyBatis】第一个入门例子
- mybatis的第一个程序
- 我的第一个Mybatis!
- 第一个mybatis程序(mybatis入门)
- mybatis新手教程-第一个mybatis实例
- MyBatis(二)第一个Mybatis项目
- 【正一专栏】承认朝鲜是核武国家是大势所趋
- JSP页面的9个隐含对象
- 新建maven文件报错(pom.xml或者jar包缺失)解决方法
- Maven项目Eclipse接口实现类@Override 注解报错,要求Remove @Override的解决方案
- java基础学习总结——static关键字
- 第一个Mybatis
- html学习——基本规则
- Android设计模式学习(包含Java设计模式)-单例模式-AJDesignMode02
- java基础学习总结——equals方法
- 迁移学习总结(One Shot Learning, Zero Shot Learning)
- 关联规则FpGrowth算法 Java实现
- Android踩过的坑之bluetoothSocket
- npm 命令 & 【npm】利用npm安装/删除/发布/更新/撤销发布包 & 如何升级nodejs版本
- vue和webpack项目构建过程常用的npm命令