mybatis入门代码
来源:互联网 发布:ps6软件中文版下载 编辑:程序博客网 时间:2024/06/05 21:17
mybatis简单理解就是替换JDBC的框架。
计算机识别的都是.class文件,所以第三方类库可以通过修改环境变量的方法让JVM通过环境变量找到它。
准备工作
数据库 建表,插入测试数据 以mySQL数据库为例子,创建数据库表
create table j233_student( id int primary key auto_increment, name varchar(50))select * from j233_student;insert into user (id, name )values(1,'李白');insert into user (id, name )values(2,'王昭君');insert into user (id, name )values(3,'貂蝉');insert into user (id, name )values(4,'吕布');select id,name from j233_student where id=1;
1 建立项目
控制台项目
web项目
2 jar http://www.cnblogs.com/xdp-gacl/p/4261895.html
来源
位置 mybatis类库 jar 官网下载 数据库驱动程序包 jar oracle安装目录 导入,加入到构建路径
3 编码,测试,整理操作步骤
编码阶段 1、添加Mybatis的配置文件conf.xml 本地化改造 存储连接数据库的信息 2、定义表所对应的实体类 3、定义操作users表的sql映射文件userMapper.xml 4、在conf.xml文件中注册userMapper.xml文件
在src下建立属性文件,mybatis配置文件 属性文件: db.properties 储存数据库连接信息 oracle的配置文件 driver=oracle.jdbc.driver.OracleDriver url=jdbc:oracle:thin:@127.0.0.1:1521:orcl name=scott password=tiger 配置文件: config.xml
mySQL的配置文件driver=com.mysql.jdbc.Driverurl=jdbc:mysql://localhost:3306/j233?useUnicode=true&characterEncoding=utf8user=rootpassword=root
配置文件: 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><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://localhost:3306/j233" /> <property name="username" value="root"/> <property name="password" value="root"/> </dataSource> </environment></environments><mappers> <mapper class="com.student.mapper.StudentMapper"/></mappers></configuration>
5、编写测试代码:执行定义的select语句 编写创建session对象的工具类
package com.student.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 SessionUtil { public static SqlSession getsSqlSession() { String resource = "mybatis-config.xml"; InputStream inputStream = null; try { inputStream = Resources.getResourceAsStream(resource); } catch (IOException e) { e.printStackTrace(); } SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream); SqlSession session = sqlSessionFactory.openSession(); return session; }}
6 定义实体类
package com.student.bean;import java.util.List;public class Student { private Integer id; private String name; private List<Std_lsn> sl; public Student(Integer id, String name) { super(); this.id = id; this.name = name; } public Student(Integer id, String name, List<Std_lsn> sl) { super(); this.id = id; this.name = name; this.sl = sl; } public Student() { super(); } public Integer getId() { return id; } public void setId(Integer id) { this.id = id; } public String getName() { return name; } public void setName(String name) { this.name = name; } public List<Std_lsn> getSl() { return sl; } public void setSl(List<Std_lsn> sl) { this.sl = sl; } @Override public String toString() { return "Student [id=" + id + ", name=" + name + ", sl=" + sl + "]"; }}
8 定义映射文件
定义接口文件
package com.student.mapper;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 com.student.bean.Student;public interface StudentMapper{ @Select("select id,name from j233_student where id = #{id}") public Student findStudentById(Integer id); @Select("select * from j233_student") public List<Student> findAll(); @Insert("insert into j233_student(id, name)values(#{id},#{name})") public int add(Student student); @Delete("delete from j233_student where id = #{id}") public void deleteStudentById(Integer id); @Update("update j233_student set name = #{name} where id =#{id}") public int updateStudent(Student student);}
9 在配置文件中注册映射文件
注意修改配置文件<mappers> <mapper class="com.student.mapper.StudentMapper"/></mappers>
10 编写数据库操作的代码
CURD 用注解方法写的,就在StudentMapper接口中,通过注解实现增删改查的操作。
11 测试
package test;import org.apache.ibatis.session.SqlSession;import com.student.bean.Student;import com.student.mapper.StudentMapper;import com.student.util.SessionUtil;public class Test { public static void main(String[] args) { //1.创建sqlSession对象 SqlSession session = SessionUtil.getsSqlSession(); //2.创建接口实现类对象 StudentMapper sm = session.getMapper(StudentMapper.class); //3.调用接口方法 //添加// Student student = new Student(5,"刘备"); // sm.add(student);// session.commit();// session.close(); //查询// Student student1 = sm.findStudentById(5);// System.out.println(student1); //删除// sm.deleteStudentById(4);// session.commit();// session.close(); //修改 Student student = new Student(5,"孙尚香"); sm.updateStudent(student); session.commit(); session.close(); }}
第二种方式是通过xml配置文件的方式来实现CRUD操作步骤大致相同。
1.创建java项目
2.导入jar包(
log4j-1.2.16.jar
mybatis-3.1.1.jar
ojdbc6.jar
)
3.buildPath
4.连接数据库,建表
**测试数据库连接可用,保证环境可靠
**
create table user( id int primary key auto_increment, userName varchar(50), userAge int(11), userAddress varchar(200))insert into user (id, userName,userAge,userAddress )values(1,'李白',18,'北京');insert into user (id, userName,userAge,userAddress )values(2,'玄策',18,'天津');insert into user (id, userName,userAge,userAddress )values(3,'貂蝉',19,'北京');insert into user (id, userName,userAge,userAddress )values(4,'赵云',20,'上海');select * from user;
5.在src下建立属性文件,mybatis配置文件,log4j配置文件
6.建立创建SqlSession对象的工具类,并测试 对象是否成功创建
属性文件: db.properties 储存数据库连接信息
oracle:
driver=oracle.jdbc.driver.OracleDriver
url=jdbc:oracle:thin:@127.0.0.1:1521:orcl
name=scott
password=tiger
mySQL:
driver=com.mysql.jdbc.Driver
url=jdbc:mysql://localhost:3306/j233?useUnicode=true&characterEncoding=utf8
user=root
password=root
<?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> <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://localhost:3306/j233"/> <property name="username" value="root"/> <property name="password" value="root"/> </dataSource> </environment> </environments> <mappers> <mapper resource="user/bean/User.xml"/> </mappers></configuration>
7.创建实体类
package user.bean;public class User { private int id; private String userName; private String userAge; private String userAddress; public User(int id, String userName, String userAge, String userAddress) { super(); this.id = id; this.userName = userName; this.userAge = userAge; this.userAddress = userAddress; } public User() { super(); } public User(String userName, String userAge, String userAddress) { super(); this.userName = userName; this.userAge = userAge; this.userAddress = userAddress; } 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 getUserAge() { return userAge; } public void setUserAge(String userAge) { this.userAge = userAge; } public String getUserAddress() { return userAddress; } public void setUserAddress(String userAddress) { this.userAddress = userAddress; }}
8.实体类的xml映射文件
并且在这里通过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="user.mapper.UserMapper"> <select id="selectUserById" parameterType="int" resultType="user.bean.User"> select * from User where id = #{id} </select> <insert id="addUser" parameterType="user.bean.User"> insert into user(userName,userAge,userAddress) values(#{userName},#{userAge},#{userAddress}) </insert> <delete id="deleteUserById" parameterType="user.bean.User"> delete from user where id=#{id} </delete> <update id="updateUser" parameterType="user.bean.User"> update user set userName= #{userName},userAge=#{userAge},userAddress=#{userAddress} where id= #{id} </update></mapper>
9.测试类
package test;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;import user.bean.User;public class TryTest { private static SqlSessionFactory sqlSessionFactory; private static Reader reader; public static void main(String[] args) { try{ reader = Resources.getResourceAsReader("Configuration.xml"); sqlSessionFactory = new SqlSessionFactoryBuilder().build(reader); }catch(Exception e){ e.printStackTrace(); } SqlSession session = sqlSessionFactory.openSession(); try {// User user = session.selectOne("selectUserById", 1);// System.out.println(user.getUserAddress());// System.out.println(user.getUserName());// User user=new User("女娲", "12", "北京");// session.insert("addUser", user); //int user = session.delete("deleteUserById",2); //System.out.println(user); User user = new User(4,"赵云","18","北京"); session.update("updateUser",user); session.commit(); } finally { session.close(); } }}通过xml文件实现增删改查的操作new一个User对象,通过对象调用方法,实现增删改查的操作。
- mybatis入门代码
- Mybatis入门示例(一):基础代码
- Mybatis入门:(4)代码生成工具
- mybatis入门程序之代码编写
- MyBatis Generator 代码生成器 快速入门指南
- Mybatis最入门---代码自动生成(generatorConfig.xml配置)
- Mybatis最入门---代码自动生成(generatorConfig.xml配置)
- Mybatis最入门---代码自动生成(generatorConfig.xml配置)
- Mybatis最入门---代码自动生成(generatorConfig.xml配置)
- MyBatis入门
- MyBatis 入门
- myBatis入门
- MyBatis入门
- mybatis入门
- MyBatis入门
- Mybatis入门
- Mybatis入门
- Mybatis入门
- View事件体系-View的滑动
- 压缩图片处理
- SpringMVC-DispatcherServlet工作流程及web.xml配置
- 藏苹果 HNSUT 1889
- (Git入门1)Git是干什么的?
- mybatis入门代码
- 每天一个linux命令(58):telnet命令
- 阿里云服务器spring boot 发送QQ邮件25端口被封怎么办
- 机器学习算法工程师导图
- JQuery 弹出窗口,(div显示与隐藏),隐藏层半透明
- 《Cascaded Pyramid Network for Multi-Person Pose Estimation》--旷世2017COCO keypoints冠军论文解读
- Spring线程池开发实战
- RabbitMQ
- 每天一个linux命令(59):rcp命令