第一步:创建接口
2.配置全局xml
3.配置接口映射
4.测试框架
代码
package com.neuedu.mybatisdemo.bean;
import java.util.Date;
public class Course {
// 编号
private String courseId;
// 名称
private String courseName;
// 学分
private int courseScore;
// 开课时间
private Date startDate;
public Course(String courseId, String courseName, int courseScore, Date startDate) {
super();
this.courseId = courseId;
this.courseName = courseName;
this.courseScore = courseScore;
this.startDate = startDate;
}
public Course() {
super();
}
public String getCourseId() {
return courseId;
}
public void setCourseId(String courseId) {
this.courseId = courseId;
}
public String getCourseName() {
return courseName;
}
public void setCourseName(String courseName) {
this.courseName = courseName;
}
public int getCourseScore() {
return courseScore;
}
public void setCourseScore(int courseScore) {
this.courseScore = courseScore;
}
public Date getStartDate() {
return startDate;
}
public void setStartDate(Date startDate) {
this.startDate = startDate;
}
}
dao层
package com.neuedu.mybatisdemo.dao;
import java.util.Date;
import java.util.List;
import com.neuedu.mybatisdemo.bean.Course;
//接口用于定义数据库的操作
public interface ICourseDao {
//查询所有的课程
public List<Course> findAll();
//根据课程编号查询课程信息
public Course findById(String id);
//增加数据
public void add(Course course);
//删除数据
public void delectById(String id);
//修改数据
public void editcourse(Course course);
}
<?xml version="1.0" encoding="UTF-8"?>
<!-- mybatis接口映射文件,用于映射接口操作, mybatis会跟配置文件的配置
实现数据库的操作-->
<!-- mybatis有两个配置文件,一个是全局配置文件,一个是接口映射文件
接口映射文件需要使用接口文档映射定义
-->
<!DOCTYPE mapper
<!-- 在mapper映射文件中,使用mapper便签进行实现接口映射,使用namespace指定要映射的接口
即namespace配置的是接口的名称,一般的一个映射文件实现(映射)一个接口,在运行过程中
mybatis的代理类会根据配置实现数据操作接口定义的数据库操作(相当于由mybatis编写了一个接口实现类)
-->
<mapper namespace="com.neuedu.mybatisdemo.dao.ICourseDao">
<!-- resultMap用于配置查询结果的映射关系 -->
<resultMap type="com.neuedu.mybatisdemo.bean.Course" id="courseMap">
<!-- id用于配置数据库的主键或者唯一列 -->
<!-- orm框架可以完成数据库表的列与Java类的属性的映射关系 object(mapping对象映射,relation mapping关系) -->
<id column="course_id" property="courseId"/>
<result column="course_name" property="courseName"/>
<result column="course_score" property="courseScore"/>
<result column="start_date" property="startDate"/>
</resultMap>
<!-- 在接口映射文件中,使用select,insert,update,delete配置对象的sql脚本 -->
<!-- 在以上标签中,使用ID配置接口的方法名称 resultMap用于配置自定义的结果映射关系-->
<select id="findAll" resultMap="courseMap">
select * from course
</select>
<!--注意使用mybatis进行配置,id不能重名,即接口方法不能重载 -->
<!--如果接口有参数,需要使用parameterType配置参数类型 (原始数据类型或对象类型),多个参数使用parameterMap或使用对象类型进行配置(map集合 )-->
<select id="findById" resultMap="courseMap" parameterType="String">
<!-- 可以使用#{} 获取参数值 -->
select * from course where course_id=#{id}
</select>
<insert id="add" parameterType="com.neuedu.mybatisdemo.bean.Course">
Insert Into course (course_id,course_name,course_score,start_date)
Values (#{courseId},#{courseName},#{courseScore},sysdate)
</insert>
<delete id="delectById" parameterType="String">
Delete course Where course_id=#{id}
</delete>
<update id="editcourse" parameterType="com.neuedu.mybatisdemo.bean.Course" >
update course set course_name=#{courseName},course_score=#{courseScore},start_date=sysdate where course_id=#{courseId}
</update>
</mapper>
<?xml version="1.0" encoding="UTF-8"?>
<!-- 这是mybatis全局配置文件,用于进行mybatis配置 -->
<!-- 使用全局文档类型定义约束 可以配置那些标签,每个标签可以配置那些属性-->
<!DOCTYPE configuration
<configuration>
<!-- properties用于配置全局属性 -->
<properties resource="config/grobal.properties">
<!-- <property name="p_driver" value="oracle.jdbc.driver.OracleDriver"/>
<property name="p_url" value="jdbc:oracle:thin:@localhost:1521:orcl"/>
<property name="p_username" value="scott"/>
<property name="p_password" value="123"/> -->
</properties>
<!-- 配置mybatis的运行环境 -->
<environments default="development">
<environment id="development">
<!-- 配置事务管理器 -->
<transactionManager type="JDBC"/>
<dataSource type="POOLED">
<property name="driver" value="${p_driver}"/>
<property name="url" value="${p_url}"/>
<property name="username" value="${p_username}"/>
<property name="password" value="${p_password}"/>
</dataSource>
</environment>
</environments>
<mappers>
<!-- 关联mybatis的接口映射文件 -->
<mapper resource="com/neuedu/mybatisdemo/dao/ICourseDao.xml"/>
</mappers>
</configuration>
<!-- 配置jdbc的四个参数 -->
<!-- <dataSource type="POOLED">
<property name="driver" value="oracle.jdbc.driver.OracleDriver"/>
<property name="url" value="jdbc:oracle:thin:@localhost:1521:orcl"/>
<property name="username" value="scott"/>
<property name="password" value="123"/>
</dataSource> -->