myatis 的 一直报空指针异常

toward_south 2018-06-12 11:24:46

这是测试的代码:
public class Test {
public static void main(String [] args){
Logger log=Logger.getLogger(Test.class);
SqlSession sqlSession=null;
try{

sqlSession=SqlSessionFactoryUtils.openSqlSession();
System.out.println("111"+sqlSession);
//userMapper usermapper=sqlSession.getMapper(userMapper.class);
System.out.println(111);
workerMapper workermapper=sqlSession.getMapper(workerMapper.class);
/*User user=new User();
user.setId(1);
user.setPassword(1223360)*/;
Worker worker=new Worker();
worker.setId(1);
worker.setOfficenumber(111);
worker.setMobilephone(222);
worker.setProfile("大集合");
worker.setHabbt("吃瓜");
System.out.println(1111);
List<Worker>list=new ArrayList<Worker>();
//RowBounds rowBounds=new RowBounds(0,10);
int pwd=workermapper.updateWorker(worker);
log.info(pwd);
sqlSession.commit();
}catch(Exception ex){

sqlSession.rollback();
}finally{
if(sqlSession != null){
sqlSession.close();
}
}
}


这是接口:
public interface workerMapper {
//更新工人信息接口
public int updateWorker(Worker worker);
//查找
public List<Worker> findWorker(int id);
//信息展示-分页处理
public List<Worker>findByRowBounds(RowBounds rowBounds,int id);
//信息查询
public List<Worker>findByName(@Param("name") String name);
//根据ID查人名
public String findById(int id);
}


这是mapper.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="com.mapper.workerMapper">

<update id="updateWorker" parameterType="worker">
update p_worker
<set>
<if test="officenumber != 0 and mobilephone!=0">
W_PROFILE=#{profile},W_MOBILE_PHONE= #{mobilephone},W_OFFICE_PHONE= #{officenumber},W_HABBY= #{habby}
</if>
</set>
where W_NUMBER=#{id}
</update>
<select id="findWorker" parameterType="java.lang.Integer" resultType="worker">
select W_NAME as name,W_OFFICE_PHONE as officenumber,W_MOBILE_PHONE as mobilephone,W_PROFILE as profile,W_HABBY as habby from p_worker
where W_NUMBER=#{id}
</select>
<select id="findByRowBounds" parameterType="java.lang.Integer" resultType="worker">
select W_NAME as name,W_OFFICE_PHONE as officenumber,W_PROFILE as profile,W_HABBY as habby from p_worker
</select>
<select id="findByName" resultType="worker">
select W_NAME as name,W_OFFICE_PHONE as officenumber,W_PROFILE as profile,W_HABBY as habby from p_worker
<where>
<if test="name!=null and name !=''">
and W_NAME like concat('%',#{name},'%')
</if>
</where>
</select>
<select id="findById" parameterType="java.lang.Integer" resultType="String">
select W_NAME AS name from p_worker
where 1=1
<if test="_parameter!=null">
and W_NUMBER=#{_paramter};
</if>
</select>
</mapper>


获取sqlsession
public class SqlSessionFactoryUtils {

private final static Class<SqlSessionFactoryUtils> LOCK = SqlSessionFactoryUtils.class;

private static SqlSessionFactory sqlSessionFactory=null;

private SqlSessionFactoryUtils () {

}
public static SqlSessionFactory getSqlSessionFactory(){
synchronized(LOCK){
if(sqlSessionFactory != null){
return sqlSessionFactory;
}
String resource="mybatis-config.xml";
InputStream inputStream;
try{
inputStream=Resources.getResourceAsStream(resource);
sqlSessionFactory =(SqlSessionFactory) new SqlSessionFactoryBuilder().build(inputStream);
}catch(IOException ex){
ex.printStackTrace();
return null;
}
}
return sqlSessionFactory;

}

public static SqlSession openSqlSession(){
if(sqlSessionFactory == null){
getSqlSessionFactory();
}
return sqlSessionFactory.openSession();

}


}


<?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 alias="worker" type="com.pojo.Worker"/>
<typeAlias alias="user" type="com.pojo.User"/>
<typeAlias alias="plan" type="com.pojo.Plan"/>
<typeAlias alias="plan" type="com.pojo.Job"/>
</typeAliases>
<environments default="development">
<environment id="development">
<transactionManager type="JDBC"/>
<dataSource type="POOLED">
<property name="driver" value="com.mysql.jdbc.Driver"></property>
<property name="url" value="jdbc:mysql://localhost:3306/oa?useSSL=false"/>
<property name="username" value="root"/>
<property name="password" value="1223360222"/>
</dataSource>
</environment>
</environments>
<mappers>
<mapper resource="com/mapper/usermapper.xml"></mapper>
<mapper resource="com/mapper/workermapper.xml"></mapper>
<mapper resource="com/mapper/planmapper.xml"></mapper>
<mapper resource="com/mapper/jobmapper.xml"></mapper>
</mappers>

</configuration>


网上大多数方法我都试了,但是一直都是空指针。问下大佬们这是什么问题?
...全文
271 回复 打赏 收藏 转发到动态 举报
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复

10,606

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 其他
社区管理员
  • 其他
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧