Mybatis简单入门
来源:互联网 发布:七天网络查询成绩注册 编辑:程序博客网 时间:2024/05/21 17:24
- 一、创建项目导入相应的jar包(数据库驱动包和mybatis jar包)
- 二、在src目录下,建立conf.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> <typeAlias type="com.pojo.User" alias="User" /> <typeAlias type="com.dao.UserDao" alias="UserDao" /> </typeAliases> <!-- 配置环境变量 --> <environments default="development"> <environment id="development"> <transactionManager type="JDBC" /> <dataSource type="POOLED"> <property name="driver" value="com.mysql.jdbc.Driver" /> <property name="url" value="jdbc:mysql://127.0.0.1:3306/student?characterEncoding=utf-8" /> <property name="username" value="root" /> <property name="password" value="" /> </dataSource> </environment> </environments> <!-- 配置mappers --> <mappers> <mapper resource="com/dao/UserDao.xml" /> </mappers></configuration>
- 三、根据数据表字段建立实体类,需要一一对应关系
package com.pojo;public class User { private int userId; private String userName; private String passWord; public int getUserId() { return userId; } public void setUserId(int userId) { this.userId = userId; } public String getUserName() { return userName; } public void setUserName(String userName) { this.userName = userName; } public String getPassWord() { return passWord; } public void setPassWord(String passWord) { this.passWord = passWord; } @Override public String toString() { return "User [userId=" + userId + ", userName=" + userName + ", passWord=" + passWord + "]"; }}
- 四、建立操作映射文件
<?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,namespace的值习惯上设置成包名+sql映射文件名,这样就能够保证namespace的值是唯一的 例如namespace="com.dao.IUserDao"就是com.dao(包名)+IUserDao(.xml文件去除后缀) 如果使用接口,namespace必须要和定义的接口全名一样--> <mapper namespace="com.dao.IUserDao"> <!-- 在select标签中编写查询的SQL语句, 设置select标签的id属性为 getUser,id属性值必须是唯一的,不能够重复 使用parameterType属性指明查询时使用的参数类型,resultType属性指明查询返回的结果集类型 resultType="com.pojo.User"就表示将查询结果封装成一个User类的对象返回 User类就是users表所对应的实体类 --> <!-- 根据id查询得到一个user对象--> <!-- 如果使用getmapper id必须要和接口定义的方法一样 --> <select id="getUserById" parameterType="int" resultType="User"> select * from user where userId=#{userId} </select></mapper>
- 五、建立操作接口
package com.dao;import com.pojo.User;public interface IUserDao {public User getUserById(int userId);}
- 六、dao类
package com.dao;import java.io.FileNotFoundException;import java.io.IOException;import java.io.InputStream;import java.io.Reader;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 MyBatisBaseDao { public static SqlSessionFactory sqlSessionFactory; public static SqlSessionFactoryBuilder sqlSessionFactoryBuilder; public static SqlSession session; // mybatis的配置文件 public static String resource = "conf.xml"; static { // 使用类加载器加载mybatis的配置文件(它也加载关联的映射文件) InputStream is = UserDao.class.getClassLoader().getResourceAsStream(resource); try { // 构建sqlSession的工厂 // SqlSessionFactory sessionFactory = new // SqlSessionFactoryBuilder().build(is); // 使用MyBatis提供的Resources类加载mybatis的配置文件(它也加载关联的映射文件) Reader reader = Resources.getResourceAsReader(resource); // 构建sqlSession的工厂 SqlSessionFactory sessionFactory = new SqlSessionFactoryBuilder().build(reader); // 创建能执行映射文件中sql的sqlSession session = sessionFactory.openSession(); } catch (FileNotFoundException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } }}测试:public class UserDao extends MyBatisBaseDao { public User findUserById(int userId) { String statement = "com.dao.IUserDao.getUserById";// 映射sql的标识字符串 // 执行查询返回一个唯一user对象的sql // UserDao.init(); System.out.println(session); /**使用mybatis的代理 方法一*/ IUserDao DAO=session.getMapper(IUserDao.class); User user=DAO.getUserById(8); /**方法二**/// User user = session.selectOne(statement, userId); System.out.println(user); return user; } public static void main(String[] args) { UserDao dao = new UserDao(); dao.findUserById(8); }}
注:也可以不使用接口
0 0
- Java:MyBatis简单入门
- myBatis简单入门
- Mybatis简单入门
- 一、MyBatis简单入门
- Mybatis简单入门
- Mybatis简单入门
- mybatis简单入门
- MyBatis简单入门使用
- MyBatis简单入门使用
- MyBatis框架简单入门
- mybatis简单入门实例
- mybatis简单入门和介绍 mybatis教程
- Mybatis 入门学习,简单例子
- Mybatis入门简单例子详解
- MyBatis 介绍、简单入门程序
- Mybatis简单入门<学习随笔>
- Mybatis入门笔记--简单例子
- Mybatis入门最简单实例
- 基于Netty5.0高级案例二之WebSocket中关于使用ProtoBuf传输数据介绍js部分
- ACM--公式--HDOJ 2086--A1 = ?
- 个人笔记
- tomcat启动报SEVERE: Unable to process Jar entry [javassist/util/proxy/SerializedProxy.class] from
- app后端架构
- Mybatis简单入门
- nginx环境下安装zabbix菜鸟版
- JavaBean为什么要实现系列化Serializable接口
- 让PPT文档保存时自动压缩图片
- 为什么“精心”设计的剧情玩家不看?
- 游戏AI--决策(1)
- html页面滑动页面加载更多
- (2.2.4.1)Java Observable 模式
- premake设置静态运行库