mybatis.xml代码:
<?xml version="1.0" encoding="UTF-8"?>
<!-- 引入约束(引入这个东西后,这个配置文件则有了一些提示标签,并且有一些语法校验) -->
<!-- 提示alt+/ -->
<!DOCTYPE configuration
PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-config.dtd">
<!-- mybatis.xml的父标签 -->
<configuration>
<!-- 用来配置环境的(连接参数) -->
<environments default="day">
//当environment有多个时,environment需要有id标识,environments的default是启动默认哪一个environment的id
<environment id="day">
<transactionManager type="JDBC"></transactionManager>
<dataSource type="POOLED">
<!--value=${} ${}语法是从.properties配置文件中获取对应值 -->
<property name="driver" value="oracle.jdbc.OracleDriver"/>
<property name="url" value="jdbc:oracle:thin:@localhost:1521:orcl"/>
<property name="username" value="scott"/>
<property name="password" value="tiger"/>
</dataSource>
</environment>
</environments>
<!-- 配置映射xml配置文件路径 -->
<mappers>
<mapper resource="com/day/mapper/StudentMapper.xml"/>
</mappers>
</configuration>
java实体类代码:
package com.day.entity;
public class Student {
private int id;
private String name;
private int age;
private double score;
public Student() {
super();
}
public Student(int id, String name, int age, double score) {
super();
this.id = id;
this.name = name;
this.age = age;
this.score = score;
}
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public double getScore() {
return score;
}
public void setScore(double score) {
this.score = score;
}
@Override
public String toString() {
return "Student [id=" + id + ", name=" + name + ", age=" + age + ", score=" + score + "]";
}
}
java的mapper代码:
<?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.xml的父标签 -->
<mapper namespace="a.b.c">
<insert id="xzStudent" parameterType="com.day.entity.Student">
<!-- 注意:sql结尾不要加分号 -->
insert into STUDENT (ID,NAME,AGE,SCORE) values (#{id}, #{name}, #{age}, #{score})
</insert>
</mapper>
java的测试代码:
package com.day.test;
import com.day.entity.Student;
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 Test {
public static void main(String[] args) {
//主配置文件的位置
String resource = "mybatis.xml";
//加载对应路径下的配置文件到流中
InputStream inputStream = null;
try {
inputStream = Resources.getResourceAsStream(resource);
} catch (IOException e) {
e.printStackTrace();
}
//sqlSession工厂:用来创建sqlSession
SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);
//创建sqlSession
SqlSession sqlSession = sqlSessionFactory.openSession();
/*
* 调用sqlSession的新增方法
* statement:mapper.xml的位置(namespace+id)
* parameter:参数
* result:这条sql影响的条目数
*/
int result = sqlSession.insert("a.b.c.xzStudent", new Student(11, "李四", 23, 90.01));
//提交 没有下面这个无法插入到数据库中
sqlSession.commit();
System.out.println(result);
//释放资源
sqlSession.close();
}
}
共同探讨学习技术创建技术氛围Day9884125