参考文章: mybatis连接mysql的使用方法
1、依赖
<dependency>
<groupId>com.oracle</groupId>
<artifactId>ojdbc6</artifactId>
<version>11.2.0.1.0</version>
</dependency>
<!-- https://mvnrepository.com/artifact/org.mybatis/mybatis -->
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis</artifactId>
<version>3.4.6</version>
</dependency>
2、mybatis.cfg.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-->
<!--typeAliases,typeAlias-->
<!--environments,environment,{transactionManager&{dataSource,property}}-->
<!--mappers-->
<configuration>
<typeAliases>
<typeAlias type="cn.kgc.myoracle.entity.Users" alias="users"></typeAlias>
</typeAliases>
<environments default="xym">
<environment id="xym">
<transactionManager type="JDBC"></transactionManager>
<dataSource type="POOLED">
<property name="driver" value="oracle.jdbc.driver.OracleDriver"/>
<property name="url" value="jdbc:oracle:thin:@192.168.221.205:1521:orcl"/>
<property name="username" value="xym"/>
<property name="password" value="xym"/>
</dataSource>
</environment>
</environments>
<mappers>
<mapper resource="mapper/users.xml"></mapper>
</mappers>
</configuration>
3、entity
import java.util.Date;
public class Users {
private int userid;
private String username;
private Date birthday;
private float userhigh;
getter&setter
...
}
4、dao
public interface UserDAO {
void saveUser(Users user);
void delUser(int userid);
void updateUser(Users user);
List<Users> findAll();
Users findById(int userid);
void batchInsertUser(List<Users> users);
}
5、app
5.1、inserttest
public class InsertTest {
public static void main(String[] args) throws IOException {
//获取一个Resources,读取配置文件
Reader reader = Resources.getResourceAsReader("mybatis.cfg.xml");
//根据配置获得数据库操作会话工厂
SqlSessionFactory factory = new SqlSessionFactoryBuilder().build(reader);
//根据操作工厂生成操作对话
SqlSession session = factory.openSession();
//根据会话生成对应的数据库操作接口实例
UserDAO udao = session.getMapper(UserDAO.class);
Users user = new Users();
user.setUsername("hehe");
user.setBirthday(new Date());
user.setUserhigh(188.1f);
udao.saveUser(user);
session.commit();
session.close();
}
}
5.2、InsertBatchTest
public class InsertBatchTest {
public static void main(String[] args) throws IOException {
//获取一个Resources,读取配置文件
Reader reader = Resources.getResourceAsReader("mybatis.cfg.xml");
//根据配置获得数据库操作会话工厂
SqlSessionFactory factory = new SqlSessionFactoryBuilder().build(reader);
//根据操作工厂生成操作对话
SqlSession session = factory.openSession();
//根据会话生成对应的数据库操作接口实例
UserDAO udao = session.getMapper(UserDAO.class);
Users user = new Users();
user.setUsername("xxi");
user.setBirthday(new Date());
user.setUserhigh(171.2f);
Users user1 = new Users();
user1.setUsername("ccd");
user1.setBirthday(new Date());
user1.setUserhigh(188.2f);
List<Users> list = new ArrayList<>();
list.add(user);
list.add(user1);
udao.batchInsertUser(list);
session.commit();
session.close();
}
}
6、mapper
user.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="DAO",insert、select等-->
<mapper namespace="cn.kgc.myoracle.dao.UserDAO">
<!-- 如果是#{},根据对象的类型会决定加不加单引号,varchar型加单引号;${},不会自动加单引号,比如说在order by后面跟的字段名时,我们不需要加单引号,用${}
-->
<insert id="saveUser" parameterType="users">
insert into users values(seq_users_userid3.nextval,#{username},#{birthday},#{userhigh})
</insert>
<insert id="batchInsertUser" parameterType="list">
insert into users select seq_users_userid3.nextval,username,birthday,userhigh from
<foreach collection="list" separator=" union " item="us" open="(" close=")">
select #{us.username} username,#{us.birthday} birthday,${us.userhigh} userhigh from dual
</foreach>
</insert>
<delete id="delUser" parameterType="int">
delete from users where userid=#{userid}
</delete>
<update id="updateUser" parameterType="users">
update users set username=#{username},birthday=#{birthday},userhigh=#{userhigh} where userid=#{userid}
</update>
<select id="findAll" resultType="users">
select userid,username,birthday,userhigh from users
</select>
<select id="findById" parameterType="int" resultType="users">
select userid,username,birthday,userhigh from users where userid=#{userid}
</select>
</mapper>