Mybatis插入数据库:
1.得到数据库连接sqlsession:
获得sqlSessionFactory连接工厂参数,再使用sqlSessionFactory.openSession()获得连接。
l sqlSessionFactory由创建方法SqlSessionFactoryBuilder().build()获得。
l 该创建方法需要InputStream类的输入流对象做参数。
l InputStream类需要调用资源类Resources的方法getResourceAsStream().
l getResourceAsStream()方法需要配置参数。在配置文件中配置好jdbc的数据库配置。
数据库配置:
<transactionManager type="JDBC" />
<dataSource type="POOLED">
<property name="driver" value="${jdbc.driverClassName}" />
<property name="url" value="${jdbc.url}" />
<property name="username" value="${jdbc.username}" />
<property name="password" value="${jdbc.password}" />
dataSource>
获取输入流:
InputStream inputStream=null;
inputStream=Resources.getResourceAsStream("mybatis-config.xml");//mybatis-config.xml是配置文件,位于根目录
获取SqlSessionFactory:
sqlSessionFactory=new SqlSessionFactoryBuilder().build(inputStream);
代码结构:
以上java代码封装到getSqlSessionFactory方法,使用调用该方法返回的sqlSessionFactory来调用openSession()获得连接并赋予new出来的连接SqlSession类对象。
2.获取映射
获取接口类映射对象
映射方法:
创建接口类如XxxMapper,在接口类中编写数据库操作方法如XxxMapper.add(数据对象),该方法返回一个int表示是否成功。如int add(数据对象 数据对象参数名)
配置映射:
<mapper namespace="com.projectname.mapperpackage.XxxMapper">
<insert id="add" parameterType="数据类对象地址或其别名alias" >
insert into t_student values(null,#{name},#{age})
insert>
mapper>
Mybatis要自己写sql
获取映射:
Xxxmapper xxxmapper=sqlSession.getMapper(映射接口名.class);
3.创建要插入的数据对象并赋值
创建数据对象类如Man,添加属性参数如name、age等,添加构造方法。
创建对象并赋值Man man=new Man("man’s name",17);
4.使用映射将数据对象插入数据库
int result = XxxMapper.add(man);