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>


网上大多数方法我都试了,但是一直都是空指针。问下大佬们这是什么问题?
...全文
321 回复 打赏 收藏 转发到动态 举报
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复
数据名称:337个城市智慧健康养老DID数据(2017-2025) 数据范围:31省 数据来源:工信部 数据注意:智慧健康养老是以智能硬件、数字化服务平台为载体,融合物联网、大数据、云计算、AI 等信息技术,围绕老年人健康管护、日常养老两大需求形成的新型产业与服务体系;核心是把健康管理、安全监护、生活照料、医疗康复、精神慰藉打通,实现医养结合、居家 - 社区 - 机构一体化,缓解老龄化与护理人力缺口压力 数据指标:city、year、treat Python 数据分析完整实操流程 整体分为 6 大步骤:数据读取 → 数据清洗(最耗时)→ 描述性统计探索 → 可视化分析 → 深度挖掘(相关性、分组、回归等)→ 结果导出 常用工具库: 数据读写、表格处理:pandas 数值计算:numpy 绘图可视化:matplotlib、seaborn 高级统计 / 机器学习:scipy、scikit-learn 我国智慧健康养老产业持续深化落地,各地依托数字技术、智能终端、大数据平台,逐步构建起机构、社区、居家三位一体的智慧养老服务体系,数字化赋能养老服务转型升级成效持续显现。 全国多地持续推进智慧养老院建设、居家养老智能设备布设、养老服务数字化平台搭建,逐步实现养老服务精准化、监管智能化、供给多元化。 各地积极探索养老数据资源化利用、医养智慧融合、适老科技产品落地应用,形成了一批可复制、可推广的城市智慧养老发展模式。

10,611

社区成员

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

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