mybatis入门配置案例
来源:互联网 发布:手机登录淘宝电脑版 编辑:程序博客网 时间:2024/05/17 22:47
一、配置数据库
0.导入jar包
将数据库配置文件放到JDBC.properties中
在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> <!-- 数据源的加载 --> <!-- 加载数据库配置信息 JDBC.properties: driverClassName=com.mysql.jdbc.Driver url=jdbc\:mysql\://localhost\:3306/mydb user=root password=root --> <properties resource="JDBC.properties"></properties> <environments default="development"> <!--environment 表示一个数据库连接 可以配置多个数据库连接 --> <environment id="development"> <!--transactionManager 事务管理器 两种type类型 一般选择 JDBC --> <transactionManager type="JDBC" /> <!-- 数据源 --> <!-- jdbc四大连接参数 --> <dataSource type="POOLED"> <!-- 驱动名称 --> <property name="driver" value="${driverClassName}" /> <!-- url请求地址 --> <property name="url" value="${url}" /> <property name="username" value="${user}" /> <property name="password" value="${password}" /> </dataSource> </environment> </environments> <mappers> <!-- 映射注册 include --> <!-- resource 全路径 --> <mapper resource="cn/wang/domain/UserMapper.xml" /> </mappers></configuration>
二、配置实例类映射
1.XML方式实现
(1)定义SQL映射XML文件
文件名一般为 XxxMapper.xml
e.g.: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"><!-- 表与类的映射文件 --><!-- namespace 命名空间 唯一 :格式 :当前文件所在包名+映射文件去掉后缀的文件名 (类名) --><mapper namespace="cn.wang.domain.UserMapper"> <!-- id标识 语句的唯一性 --> <!-- resultType 全类名 --> <select id="findAll" resultType="cn.wang.domain.User"> SELECT * FROM t_user </select> <!-- add添加 --> <!-- parameterType表示参数类型 全类名 --> <!-- 设置参数 用#{属性名称}表示值的获取 --> <insert id="add" parameterType="cn.wang.domain.User"> insert into t_user (username,password,adress) values(#{username},#{password},#{adress}) </insert> <delete id="deleteById" parameterType="java.io.Serializable"> delete from t_user where uid=#{uid} </delete> <update id="update" parameterType="cn.wang.domain.User"> update t_user set username=#{username},password=#{password},adress=#{adress} where uid=#{uid} </update> <select id="findById" resultType="cn.wang.domain.User" parameterType="java.io.Serializable"> select * from t_user where uid=#{uid} </select></mapper>
(2)在配置文件conf.xml中注册映射接口
<mappers> <!-- 映射注册 include --> <!-- resource 全路径 --> <mapper resource="cn/wang/domain/UserMapper.xml" /> </mappers>
2.注解方式实现
在方法上添加注解
package cn.wang.dao;import java.io.Serializable;import java.util.List;import org.apache.ibatis.annotations.Delete;import org.apache.ibatis.annotations.Insert;import org.apache.ibatis.annotations.Select;import org.apache.ibatis.annotations.Update;import cn.wang.domain.User;public interface UserDao { @Select("SELECT * FROM t_user") List<User> findAll(); @Insert("insert into t_user(username,password,adress) values(#{username},#{password},#{adress})") void add(User user); @Delete("delete from t_user where uid=#{uid}") void deleteById(Serializable id); @Update("update t_user set username=#{username},password=#{password},adress=#{adress} where uid=#{uid}") void update(User user); @Select("select * from t_user where uid=#{uid}") User findById(Serializable id);}
三、编写utils类
package cn.wang.utils;import java.io.InputStream;import org.apache.ibatis.session.SqlSession;import org.apache.ibatis.session.SqlSessionFactory;import org.apache.ibatis.session.SqlSessionFactoryBuilder;public class MyBatisUtils { private static SqlSessionFactory sessionFactory=null; static{ //读取配置文件 InputStream in=MyBatisUtils.class.getResourceAsStream("/conf.xml"); //获取sessionFactory sessionFactory=new SqlSessionFactoryBuilder().build(in); } public static SqlSession getSession(){ //获取session return sessionFactory.openSession(); }}
四、mybatis实现crud
package cn.wang.dao;import java.io.Serializable;import java.util.List;import org.apache.ibatis.session.SqlSession;import cn.wang.domain.User;import cn.wang.utils.MyBatisUtils;public class UserDaoImpl implements UserDao { @Override public List<User> findAll() { // 获取session SqlSession session = MyBatisUtils.getSession(); // 获取mapper UserDao mapper = session.getMapper(UserDao.class); // 查询所有用户 List<User> list = mapper.findAll(); // 关闭资源 session.close(); // 返回结果 return list; } @Override public void add(User user) { // 获取session SqlSession session = MyBatisUtils.getSession(); // 获取mapper UserDao mapper = session.getMapper(UserDao.class); // 添加用户 mapper.add(user); // 提交事务 session.commit(); // 关闭资源 session.close(); } @Override public void deleteById(Serializable id) { // 获取session SqlSession session = MyBatisUtils.getSession(); // 获取mapper UserDao mapper = session.getMapper(UserDao.class); // 删除用户 mapper.deleteById(id); // 提交事务 session.commit(); // 关闭资源 session.close(); } @Override public void update(User user) { // 获取session SqlSession session = MyBatisUtils.getSession(); // 获取mapper UserDao mapper = session.getMapper(UserDao.class); // 修改用户 mapper.update(user); // 提交事务 session.commit(); // 关闭资源 session.close(); } @Override public User findById(Serializable id) { // 获取session SqlSession session = MyBatisUtils.getSession(); // 获取mapper UserDao mapper = session.getMapper(UserDao.class); // 根据ID查询 User user=mapper.findById(id); // 关闭资源 session.close(); return user; }}
阅读全文
1 0
- mybatis入门配置案例
- Mybatis基于xml配置的入门案例
- mybatis入门案例
- mybatis入门案例
- MyBatis入门案例
- mybatis入门案例
- Mybatis入门案例
- MyBatis入门案例
- mybatis入门案例1
- mybatis-入门案例
- mybatis入门案例(一)
- Mybatis入门案例
- mybatis框架入门案例
- Mybatis学习笔记-入门案例
- dubbo+springboot+mybatis入门案例
- Hibernate配置入门案例
- Hibernate入门配置案例
- Struts2配置入门案例
- 静态、常量、局部、全局变量
- git命令
- 算法学习[一]
- 【Kaggle笔记】良/恶性乳腺肿瘤数据(线性分类)
- postgres_fdw
- mybatis入门配置案例
- 最简单的JavaWeb应用结构
- AUTOSAR CAN Network Management 介绍
- 学生信息管理系统错误总结之3021
- 【Sort】350. Intersection of Two Arrays II
- 84. Largest Rectangle in Histogram
- 今日头条|张一鸣:我遇到的优秀年轻人的5个特质 头条招聘 2016-08-17 12:11 文| 张一鸣 今日头条|张一鸣:我遇到的优秀年轻人的5个特质 文章整理自今日头条张一鸣8月12日在“20
- 享元模式
- P1908 逆序对