create table students (stud_id number primary key, name varchar2(20), email varchar2(20), dob date );
package com.mybatis.pojo;
import java.util.Date;
public class Student {
private Integer studId;
private String name;
private String email;
private Date dob;
public Student() {}//注意无参的构造器
public Student(Integer studId, String name, String email, Date dob) {
this.studId = studId;
this.name = name;
this.email = email;
this.dob = dob;
}
public Integer getStudId() {
return studId;
}
public void setStudId(Integer studId) {
this.studId = studId;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getEmail() {
return email;
}
public void setEmail(String email) {
this.email = email;
}
public Date getDob() {
return dob;
}
public void setDob(Date dob) {
this.dob = dob;
}
@Override
public String toString() {
return "Student [studId=" + studId + ", name=" + name + ", email="
+ email + ", dob=" + dob + "]";
}
}
<?xml version="1.0" encoding="UTF-8"?> <!-- 进行dtd约束,其中-//mybatis.org//DTD Config 3.0//EN为公共约束, http://mybatis.org/dtd/mybatis-3-config.dtd为获取网络中提供的dtd约束 --> <!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN" "http://mybatis.org/dtd/mybatis-3-config.dtd"> <configuration> <typeAliases> <!-- 给pojo类起别名 --> <typeAlias type="com.mybatis.pojo.Student" alias="Student" /> </typeAliases> <!-- 配置数据库环境其中development为默认的数据库名称事务管理器transactionManager类型为JDBC类型,数据源dataSource使用连接池的方式 --> <environments default="development"> <environment id="development"> <transactionManager type="JDBC"></transactionManager> <dataSource type="POOLED"> <!-- 配置数据库信息这里使用oracle数据库 --> <property name="driver" value="oracle.jdbc.driver.OracleDriver" /> <property name="url" value="jdbc:oracle:thin:@127.0.0.1:1521:orcl" /> <property name="username" value="briup" /> <property name="password" value="briup" /> </dataSource> </environment> </environments> <!-- 配置xml文件映射路径,在这里可以进行sql的操作 --> <mappers> <mapper resource="com/mybatis/mappers/StudentMapper.xml" /> </mappers> </configuration>
package com.mybatis.mappers;
import java.util.List;
import com.mybatis.pojo.Student;
public interface StudentMapper {
List<Student> findAllStudents();
Student findStudentById(Integer id);
void insertStudent(Student student);
}
<?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">
<!-- com.mybatis.mappers.StudentMapper是我们定义接口的全限定名字 这样就可以使用接口调用映射的SQL语句了 这个名字一定要和接口对应上 -->
<mapper namespace="com.mybatis.mappers.StudentMapper">
<resultMap type="Student" id="StudentResult">
<id property="studId" column="stud_id" />
<result property="name" column="name" />
<result property="email" column="email" />
<result property="dob" column="dob" />
</resultMap>
<select id="findAllStudents" resultMap="StudentResult">
SELECT * FROM STUDENTS
</select>
<!-- 列名和属性名字不一致可以给查询的列起一个别名 -->
<select id="findStudentById" parameterType="int" resultType="Student">
SELECT STUD_ID AS STUDID,NAME,EMAIL,DOB
FROM STUDENTS
WHERE
STUD_ID=#{id}
</select>
<insert id="insertStudent" parameterType="Student">
INSERT INTO
STUDENTS(STUD_ID,NAME,EMAIL,DOB)
VALUES(#{studId},#{name},#{email},#{dob})
</insert>
</mapper>
log4j.rootLogger=DEBUG, stdout log4j.appender.stdout=org.apache.log4j.ConsoleAppender log4j.appender.stdout.layout=org.apache.log4j.PatternLayout log4j.appender.stdout.layout.ConversionPattern=%d [%-5p] %c - %m%n #show sql log4j.logger.java.sql.ResultSet=INFO log4j.logger.org.apache=INFO log4j.logger.java.sql.Connection=DEBUG log4j.logger.java.sql.Statement=DEBUG log4j.logger.java.sql.PreparedStatement=DEBUG
package com.mybatis.test;
import java.io.IOException;
import java.io.InputStream;
import java.util.Date;
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 org.junit.Test;
import com.mybatis.mappers.StudentMapper;
import com.mybatis.pojo.Student;
public class StudentMapperTest {
@Test
public void test_insertStudent()
{
SqlSession session=null;
try {
// 获取配置文件
InputStream inputStream = Resources.getResourceAsStream("mybatis-config.xml");
// 生成工厂对象
SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);
// 使用工厂对象生成sqlsession
session = sqlSessionFactory.openSession();
// 使用sqlsession获得映射接口的实现类对象,接口的引用指向实现类的对象
StudentMapper studentMapper = session.getMapper(StudentMapper.class);
Student student = new Student(1, "suwu150", "1730@qq.com",new Date());
studentMapper.insertStudent(student);
} catch (IOException e) {
session.rollback();
e.printStackTrace();
}
}
}
package com.mybatis.utils;
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 MyBatisSqlSessionFactory {
private static SqlSessionFactory sqlSessionFactory;
public static SqlSessionFactory getSqlSessionFactory(){
if(sqlSessionFactory == null){
InputStream inputStream = null;
try {
inputStream = Resources.getResourceAsStream("mybatis-config.xml");
sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);
} catch (IOException e) {
e.printStackTrace();
throw new RuntimeException(e.getCause());
}
}
return sqlSessionFactory;
}
public static SqlSession openSession() {
return openSession(false); //默认手动提交,故我们在调用的时候需要进行提交
}
public static SqlSession openSession(boolean autoCommit) {
return getSqlSessionFactory().openSession(autoCommit);
}
}
MyBatisSqlSessionFactory.openSession().getMapper(StudentMapper.class).insertStudent(s);
<?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">
<!-- com.mybatis.mappers.StudentMapper是我们定义接口的全限定名字 这样就可以使用接口调用映射的SQL语句了 这个名字一定要和接口对应上 -->
<mapper namespace="com.mybatis.mappers.StudentMapper">
<resultMap type="Student" id="StudentResult">
<id property="studId" column="stud_id" />
<result property="name" column="name" />
<result property="email" column="email" />
<result property="dob" column="dob" />
</resultMap>
<select id="findAllStudents" resultMap="StudentResult">
SELECT * FROM STUDENTS
</select>
<!-- 列名和属性名字不一致可以给查询的列起一个别名 -->
<select id="findStudentById" parameterType="int" resultType="Student">
SELECT STUD_ID AS STUDID,NAME,EMAIL,DOB
FROM STUDENTS
WHERE
STUD_ID=#{id}
</select>
<insert id="insertStudent" parameterType="Student">
INSERT INTO
STUDENTS(STUD_ID,NAME,EMAIL,DOB)
VALUES(#{studId},#{name},#{email},#{dob})
</insert>
<delete id="deleteStudentById" parameterType="int">
delete from students
where STUD_ID=#{id}
</delete>
<update id="updateStudentById" parameterType="Student">
update students
set name=#{name},email=#{email}
where stud_id=#{studId}
</update>
</mapper>
package com.mybatis.mappers;
import java.util.List;
import com.mybatis.pojo.Student;
public interface StudentMapper {
List<Student> findAllStudents();
Student findStudentById(Integer id);
void insertStudent(Student student);
void deleteStudentById(Integer id);
void updateStudentById(Student student);
}
package com.mybatis.test;
import java.io.IOException;
import java.io.InputStream;
import java.util.Date;
import java.util.List;
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 org.junit.Test;
import com.mybatis.mappers.StudentMapper;
import com.mybatis.pojo.Student;
import com.mybatis.utils.MyBatisSqlSessionFactory;
public class StudentMapperTest {
@Test
public void test_insertStudent()
{
SqlSession session=null;
try {
// 获取配置文件
InputStream inputStream = Resources.getResourceAsStream("mybatis-config.xml");
// 生成工厂对象
SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);
// 使用工厂对象生成sqlsession
session = sqlSessionFactory.openSession();
// 使用sqlsession获得映射接口的实现类对象,接口的引用指向实现类的对象
StudentMapper studentMapper = session.getMapper(StudentMapper.class);
Student student = new Student(2, "suwu150", "1730@qq.com",new Date());
studentMapper.insertStudent(student);
session.commit();
System.out.println("执行完毕");
} catch (IOException e) {
session.rollback();
e.printStackTrace();
}
}
@Test
public void test_deleteStudentById()
{
SqlSession session=null;
session = MyBatisSqlSessionFactory.openSession();//使用封装之后的类
// 使用sqlsession获得映射接口的实现类对象,接口的引用指向实现类的对象
StudentMapper studentMapper = session.getMapper(StudentMapper.class);
studentMapper.deleteStudentById(2);
session.commit();
System.out.println("执行完毕");
}
@Test
public void test_updateStudentById()
{
SqlSession session=null;
session = MyBatisSqlSessionFactory.openSession();//使用封装之后的类
// 使用sqlsession获得映射接口的实现类对象,接口的引用指向实现类的对象
StudentMapper studentMapper = session.getMapper(StudentMapper.class);
Student student = new Student();
student.setStudId(1);
student.setName("sususu");
student.setEmail("123443@136.com");
studentMapper.updateStudentById(student);
session.commit();
System.out.println("执行完毕");
}
@Test
public void test_findStudentById()
{
SqlSession session=null;
session = MyBatisSqlSessionFactory.openSession();//使用封装之后的类
// 使用sqlsession获得映射接口的实现类对象,接口的引用指向实现类的对象
StudentMapper studentMapper = session.getMapper(StudentMapper.class);
Student student = studentMapper.findStudentById(1);
System.out.println(student);
System.out.println("执行完毕");
}
@Test
public void test_findAllStudents()
{
SqlSession session=null;
session = MyBatisSqlSessionFactory.openSession();//使用封装之后的类
// 使用sqlsession获得映射接口的实现类对象,接口的引用指向实现类的对象
StudentMapper studentMapper = session.getMapper(StudentMapper.class);
List<Student> list = studentMapper.findAllStudents();
System.out.println(list);
System.out.println("执行完毕");
}
}
机械节能产品生产企业官网模板...
大气智能家居家具装修装饰类企业通用网站模板...
礼品公司网站模板
宽屏简约大气婚纱摄影影楼模板...
蓝白WAP手机综合医院类整站源码(独立后台)...苏ICP备2024110244号-2 苏公网安备32050702011978号 增值电信业务经营许可证编号:苏B2-20251499 | Copyright 2018 - 2025 源码网商城 (www.ymwmall.com) 版权所有