qq_43553202 2018-10-29 16:24 采纳率: 0%
浏览 4203

使用mybatis得不到SqlSessionFactory,哪位大神帮帮忙?

我在网上查过了,大家都是得不到sqlsession,我直接factory都得不到

这是配置文件

 <?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>
<environments default="development">
        <environment id="development">
        <transactionManager type="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="luoyang"/>
            <property name="password" value="java"/>
            </dataSource>
        </environment>
    </environments>
   
    <mappers>
        <mapper resource="com/mapper/StudentMapper.xml"/>
</configuration>
<?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="com.mapper.IStudentDao">
        <resultMap type="com.bean.Student" id="rst_stu">
                <id column="sid" property="sid"/>
                <result column="sname" property="sname"/>
                <result column="sex" property="sex"/>
                <result column="address" property="address"/>
                <result column="birthday" property="birthday"/>
                <result column="cid" property="cid"/>
        </resultMap>
        <insert id="save" parameterType="com.bean.Student">
       insert into student values (seq_sid.nextval,#{sname},#{sex},#{address},#{birthday},#{cid})
        </insert>
        <update id="update" parameterType="com.bean.Student">
       update student set sname=#{sname},sex=#{sex},address=#{address},birthday=#{birthday},cid=#{cid} 
       where sid=#{sid}
        </update>
        <delete id="delById" parameterType="int">
       delete student set where sid=#{sid}
        </update>
        <select id="findById" parameterType="int" resultType="com.bean.Student">
        select * from student where sid=#{sid}
        </select>
        <select id="findAll"  resultType="com.bean.Student">
        select * from student where 1=1 order by sid
        </select>
        <select id="doinit"  resultType="com.bean.Clazz">
        select * from clazz where 1=1 order by cid
        </select>


</mapper>
 package com.test;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
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 com.bean.*;
import com.mapper.*;
public class StudentTest {

    public static void main(String[] args) {
        SqlSessionFactory sessionFactory=null;
        SqlSession session = null;
        //获取sqlsessionfactory 对象
        try {
            InputStream is=Resources.getResourceAsStream("mybaties.xml");
            System.out.println(is.available());
            sessionFactory=new SqlSessionFactoryBuilder().build(is);
            System.out.println(sessionFactory);
            //获取sqlsession对象
            session=sessionFactory.openSession();
            Student st=new Student("高原", "男","运城",new Date(),1);
            int row=session.insert("com.mapper.IStudentDao.save", st);
            if(row>0){
                session.commit();
                System.out.println("保存成功");
            }else{
                System.out.println("保存失败");
            }
        } catch (FileNotFoundException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        } catch (IOException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }finally{
            session.close();
        }
    }


}

  • 写回答

2条回答 默认 最新

  • 爱码少年 00fly.online 2018-11-03 12:11
    关注

    demo

    import org.apache.ibatis.session.SqlSessionFactory;
    import org.slf4j.Logger;
    import org.slf4j.LoggerFactory;
    import org.springframework.context.support.GenericXmlApplicationContext;
    
    import com.fly.demo.service.UserService;
    
    /**
     * 
     * MainRun
     * 
     * @author 00fly
     * @version [版本号, 2018-11-01]
     * @see [相关类/方法]
     * @since [产品/模块版本]
     */
    public class MainRun
    {
        private static Logger logger = LoggerFactory.getLogger(MainRun.class);
    
        /**
         * main
         * 
         * @param args
         * @see [类、类#方法、类#成员]
         */
        public static void main(String[] args)
        {
            GenericXmlApplicationContext context = new GenericXmlApplicationContext();
            context.setValidating(false);
            context.load("classpath:/spring/spring.xml");
            context.refresh();
            int i = 1;
            for (String beanName : context.getBeanDefinitionNames())
            {
                logger.info("{}.\t{}", i, beanName);
                i++;
            }
            SqlSessionFactory sessionFactory = context.getBean(SqlSessionFactory.class);
            logger.info("{}", sessionFactory.openSession());
            UserService userservice = context.getBean(UserService.class);
            logger.info("{}", userservice.selectById(1L));
    
            context.close();
        }
    }
    
    评论

报告相同问题?

悬赏问题

  • ¥20 有人能用聚类分析帮我分析一下文本内容嘛
  • ¥15 请问Lammps做复合材料拉伸模拟,应力应变曲线问题
  • ¥30 python代码,帮调试
  • ¥15 #MATLAB仿真#车辆换道路径规划
  • ¥15 java 操作 elasticsearch 8.1 实现 索引的重建
  • ¥15 数据可视化Python
  • ¥15 要给毕业设计添加扫码登录的功能!!有偿
  • ¥15 kafka 分区副本增加会导致消息丢失或者不可用吗?
  • ¥15 微信公众号自制会员卡没有收款渠道啊
  • ¥100 Jenkins自动化部署—悬赏100元